diff --git a/o2server/pom.xml b/o2server/pom.xml index e95688e87705acf0816fbede288b7a21471cf6a9..c42a5b26d84cb235a543e043fd8dfdf54895a550 100644 --- a/o2server/pom.xml +++ b/o2server/pom.xml @@ -1,5 +1,4 @@ - + 4.0.0 o2oa o2server @@ -20,7 +19,6 @@ x_bbs_core_entity x_calendar_core_entity x_cms_core_entity - x_cms_core_express x_component_core_entity x_file_core_entity x_general_core_entity @@ -33,13 +31,13 @@ x_organization_core_entity x_portal_core_entity x_processplatform_core_entity - x_teamwork_core_entity x_program_center_core_entity x_organization_core_express x_query_core_express x_processplatform_core_express x_bbs_assemble_control x_calendar_assemble_control + x_cms_core_express x_cms_assemble_control x_attendance_assemble_control x_component_assemble_control @@ -64,7 +62,6 @@ x_query_assemble_designer x_query_assemble_surface x_query_service_processing - x_teamwork_assemble_control x_program_center x_console diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/common/date/DateOperation.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/common/date/DateOperation.java deleted file mode 100644 index 8f3ed0b6b7f826c9f8548bd65fdfd097757e85c3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/common/date/DateOperation.java +++ /dev/null @@ -1,841 +0,0 @@ -package com.x.teamwork.assemble.common.date; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -public class DateOperation { - - /** - * 根据样式得到格式化对象SimpleDateFormat - * @param date - * @param style - * @return - */ - public static String getDate(Date date, String style) { - SimpleDateFormat format = new SimpleDateFormat(style); - return format.format(date); - } - - /** - * 得到某日期的日期部分 - * - * @param date - * @return yyyy-MM-dd - */ - public static String getDate(Date date) { - return format1.format(date); - } - - /** - * 得到某日期的时间部分 - * - * @param date - * @return HH:mm:ss - */ - public static String getTime(Date date) { - return format2.format(date); - } - - public static Date getDateFromString(String dateString, String style) throws Exception{ - Date date = null; - if(style==null||"".equals(style.trim())){ - date = format1.parse(dateString); - }else if( "yyyy-MM-dd HH:mm:ss".equalsIgnoreCase(style.trim())){ - date = format3.parse(dateString); - }else if( "yyyy-MM-dd HH:mm".equalsIgnoreCase(style.trim())){ - date = format3_2.parse(dateString); - }else if( "yyyy/MM/dd HH:mm:ss".equalsIgnoreCase(style.trim())){ - date = format3_1.parse(dateString); - }else if( "yyyy/MM/dd".equalsIgnoreCase(style.trim())){ - date = format4.parse(dateString); - }else if( "yyyy-MM-dd".equalsIgnoreCase(style.trim())){ - date = format1.parse(dateString); - }else if( "yyyyMMdd".equalsIgnoreCase(style.trim())){ - date = format5.parse(dateString); - }else if( "yyyyMMddHHmmss".equalsIgnoreCase(style.trim())){ - date = format7.parse(dateString); - }else if( "HH:mm:ss".equalsIgnoreCase(style.trim())){ - date = format2.parse(dateString); - }else if( "HH:mm".equalsIgnoreCase(style.trim())){ - date = format2_1.parse(dateString); - }else{ - throw new Exception( "对不起,您输入的日期style系统无法识别,请检查您的参数输入!" ); - } - return date; - } - - /** - * 将字符串转换为日期格式 - * 会尝试多种格式转换,转换成功后返回结果 - * @param dateString - * @return - * @throws Exception - */ - public static Date getDateFromString( String dateString ) throws Exception{ - Date date = null; - try{ - date = getDateFromString( dateString, "yyyy-MM-dd HH:mm:ss" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyy-MM-dd HH:mm" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyy/MM/dd HH:mm:ss" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyy-MM-dd" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyy/MM/dd" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyyMMdd" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "yyyyMMddHHmmss" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "HH:mm:ss" ); - return date; - }catch(Exception e){} - - try{ - date = getDateFromString( dateString, "HH:mm" ); - return date; - }catch(Exception e){} - - throw new Exception( "the style of date has error, date:" + dateString ); - } - - - public static String getDateStringFromDate(Date date, String style) throws Exception{ - String dateString = null; - if(style==null||"".equals(style.trim())){ - dateString = format1.format(date); - }else if( "yyyy-MM-dd HH:mm:ss".equalsIgnoreCase(style.trim())){ - dateString = format3.format(date); - }else if( "yyyy/MM/dd HH:mm:ss".equalsIgnoreCase(style.trim())){ - dateString = format3_1.format(date); - }else if( "yyyy/MM/dd".equalsIgnoreCase(style.trim())){ - dateString = format4.format(date); - }else if( "yyyy-MM-dd".equalsIgnoreCase(style.trim())){ - dateString = format1.format(date); - }else if( "yyyyMMdd".equalsIgnoreCase(style.trim())){ - dateString = format5.format(date); - }else if( "yyyyMMddHHmmss".equalsIgnoreCase(style.trim())){ - dateString = format7.format(date); - }else if( "HH:mm:ss".equalsIgnoreCase(style.trim())){ - dateString = format2.format(date); - }else{ - throw new Exception( "对不起,您输入的日期style系统无法识别,请检查您的参数输入!style=" + style); - } - return dateString; - } - - /** - * 得到某日期加上或减去天数后的日期,day为负数时减去 - * - * @param date - * @param month - * @return "yyyy-MM-dd" - * @throws Exception - */ - public static String getDayAdd(String dateString, int day, String style) throws Exception { - Date date = getDateFromString(dateString, style); - return getDayAdd(date, day); - } - - /** - * 得到某日期加上或减去天数后的日期,day为负数时减去 - * - * @param date - * @param month - * @return "yyyy-MM-dd" - */ - public static String getDayAdd(Date date, int day) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - calendar.add(Calendar.DATE, day); - return format1.format(calendar.getTime()); - } - - /** - * 得到某日期加上或减去月份后的日期,month为负数时减去 - * - * @param date - * @param month - * @return "yyyy-MM-dd" - */ - public static String getMonthAdd(Date date, int month) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - calendar.add(Calendar.MONTH, month); - return format1.format(calendar.getTime()); - } - - /** - * 得到某日期加上或减去分钟后的日期,min为负数时减去 - * - * @param date - * @param month - * @return "yyyy-MM-dd HH:mi:ss" - */ - public static String getMinutesAdd(Date date, int min) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - calendar.add(Calendar.MINUTE, min); - return format3.format(calendar.getTime()); - } - /** - * 得到某日期的日 - * - * @param Date - * date - * @return - */ - public static String getDay(Date date) { - try{ - return format10.format(date); - }catch(Exception e){ - return "0"; - } - } - public static int getDayNumber(Date date) { - String result = null; - try{ - result = format10.format(date); - }catch(Exception e){ - result = "0"; - } - return Integer.parseInt(result); - } - /** - * 得到某日期的月份 - * - * @param Date - * date - * @return - */ - public static String getMonth(Date date) { - try{ - return format9.format(date); - }catch(Exception e){ - return "0"; - } - } - public static int getMonthNumber(Date date) { - String result = null; - try{ - result = format9.format(date); - }catch(Exception e){ - result = "0"; - } - return Integer.parseInt(result); - } - - /** - * 得到某日期的年份 - * - * @param Date - * date - * @return - */ - public static String getYear(Date date) { - try{ - return format8.format(date); - }catch(Exception e){ - return "0"; - } - } - public static int getYearNumber(Date date) { - String result = null; - try{ - result = format8.format(date); - }catch(Exception e){ - result = "0"; - } - return Integer.parseInt(result); - } - /** - * 得到某日期的小时 - * - * @param Date - * date - * @return - */ - public static String getHour(Date date) { - try{ - return format11.format(date); - }catch(Exception e){ - return "0"; - } - } - /** - * 得到某日期的分钟 - * - * @param Date - * date - * @return - */ - public static String getMinites(Date date) { - return format12.format(date); - } - /** - * 得到某日期的秒 - * - * @param Date - * date - * @return - */ - public static String getSeconds(Date date) { - return format13.format(date); - } - /** - * 得到某年有多少天 - * - * @param String - * date "yyyy-MM-dd" - * @return - * @throws ParseException - */ - @SuppressWarnings("static-access") - public static int getDaysForYear(String date) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(format1.parse(date)); - return calendar.get(calendar.DAY_OF_YEAR); - } - - /** - * 得到某年有多少天 - * - * @param Date - * date - * @return - * @throws ParseException - */ - @SuppressWarnings("static-access") - public static int getDaysForYear(Date date) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - return calendar.get(calendar.DAY_OF_YEAR); - } - - /** - * 得到某年有多少天 - * - * @param String - * year "yyyy" - * @return - * @throws ParseException - */ - @SuppressWarnings("static-access") - public static int getDaysForYear_YYYY(String year) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(format8.parse(year)); - return calendar.get(calendar.DAY_OF_YEAR); - } - - /** - * 得到某月有多少天 - * - * @param String - * date "yyyy-MM-dd" - * @return - * @throws ParseException - */ - public static int getDaysForMonth(String date) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(format1.parse(date)); - return calendar.getActualMaximum( Calendar.DAY_OF_MONTH); - } - - /** - * 得到某月有多少天 - * - * @param String - * date "yyyy-MM" - * @return - * @throws ParseException - */ - @SuppressWarnings("static-access") - public static int getDaysForMonth_MM(String date) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(format14.parse(date)); - return calendar.get(calendar.DAY_OF_MONTH); - } - - /** - * 得到某月有多少天 - * - * @param Date - * date - * @return - * @throws ParseException - */ - public static int getDaysForMonth(Date date) throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - return calendar.get(Calendar.DAY_OF_MONTH); - } - - /** - * 得到当前的日期 - * - * @return - */ - public static String getNowDate() { - return format1.format(new Date()); - } - - /** - * 得到当前的时间 - * - * @return - */ - public static String getNowTime() { - return format2.format(new Date()); - } - /** - * 得到当前的时间 - * yyyyMMddHHmmss - * @return - */ - public static String getNowTimeChar() { - return format7.format(new Date()); - } - /** - * 得到当前的时间 - * yyyy-MM-dd HH:mm:ss - * @return - */ - public static String getNowDateTime() { - return format3.format(new Date()); - } - /** - * 得到两个时间之前的分差 - * @param date1 yyyy-MM-dd HH:mm:ss - * @param date2 yyyy-MM-dd HH:mm:ss - * @return - * @throws Exception - */ - public static long getDeff(String date1,String date2) throws Exception { - long dayNumber = 0; - // 1小时=60分钟=3600秒=3600000 - long mins = 60L * 1000L; - // long day= 24L * 60L * 60L * 1000L;计算天数之差 - SimpleDateFormat df = null; - if(date1.length() == 19){ - df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); - }else if(date1.length() == 10){ - df = new SimpleDateFormat( "yyyy-MM-dd" ); - }else if(date1.length() == 8){ - df = new SimpleDateFormat( "HH:mm:ss" ); - }else{ - df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); - } - try { - java.util.Date d1 = df.parse(date1); - java.util.Date d2 = df.parse(date2); - dayNumber = (d2.getTime() - d1.getTime()) / mins; - } catch (Exception e) { - throw e; - } - return dayNumber; - } - /** - * 得到两个时间之前的分差 - * @param date1 yyyy-MM-dd HH:mm:ss - * @param date2 yyyy-MM-dd HH:mm:ss - * @return - */ - public static long getDeff(Date date1,Date date2) { - long dayNumber = 0; - // 1小时=60分钟=3600秒=3600000 - long mins = 60L * 1000L; - // long day= 24L * 60L * 60L * 1000L;计算天数之差 - try { - dayNumber = (date2.getTime() - date1.getTime()) / mins; - } catch (Exception e) { - throw e; - } - return dayNumber; - } - /** - * - * 日期格式转换 - * 从YYYY-MM-DD转换到YYYYMMDD - * @param date - * @throws ParseException - */ - public static String changeDateFormat(String dateString) throws ParseException{ - Date date; - String reslut = null; - try { - if( "".equals(dateString)){ - dateString="0000-00-00"; - } - date = format1.parse(dateString); - reslut = format5.format(date); - } catch (ParseException e) { - try { - date = format1.parse( "0000-00-00" ); - } catch (ParseException e1) { - throw e1; - } - throw e; - } - - return reslut; - } - - /** 格式 yyyy-MM-dd */ - public static final SimpleDateFormat format1 = new SimpleDateFormat( "yyyy-MM-dd" ); - /** 格式 HH:mm:ss */ - public static final SimpleDateFormat format2 = new SimpleDateFormat( "HH:mm:ss" ); - public static final SimpleDateFormat format2_1 = new SimpleDateFormat( "HH:mm" ); - /** 格式 yyyy-MM-dd HH:mm:ss */ - public static final SimpleDateFormat format3 = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); - public static final SimpleDateFormat format3_2 = new SimpleDateFormat( "yyyy-MM-dd HH:mm" ); - public static final SimpleDateFormat format3_1 = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss" ); - /** 格式 yyyy/MM/dd */ - public static final SimpleDateFormat format4 = new SimpleDateFormat( "yyyy/MM/dd" ); - /** 格式 yyyyMMdd */ - public static final SimpleDateFormat format5 = new SimpleDateFormat( "yyyyMMdd" ); - /** 格式 HHmmss */ - public static final SimpleDateFormat format6 = new SimpleDateFormat( "HHmmss" ); - /** 格式 yyyyMMddHHmmss */ - public static final SimpleDateFormat format7 = new SimpleDateFormat( "yyyyMMddHHmmss" ); - /** 格式 yyyy */ - public static final SimpleDateFormat format8 = new SimpleDateFormat( "yyyy" ); - /** 格式 MM */ - public static final SimpleDateFormat format9 = new SimpleDateFormat( "MM" ); - /** 格式 dd */ - public static final SimpleDateFormat format10 = new SimpleDateFormat( "dd" ); - /** 格式 HH */ - public static final SimpleDateFormat format11 = new SimpleDateFormat( "HH" ); - /** 格式 mm */ - public static final SimpleDateFormat format12 = new SimpleDateFormat( "mm" ); - /** 格式 ss */ - public static final SimpleDateFormat format13 = new SimpleDateFormat( "ss" ); - /** 格式 ss */ - public static final SimpleDateFormat format14 = new SimpleDateFormat( "yyyy-MM" ); - - - public static String getStartOfWeek(String dateString) throws Exception{ - SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd" ); - try { - Date date = format.parse(dateString); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.setFirstDayOfWeek(Calendar.MONDAY); - int tmp = cal.get(Calendar.DAY_OF_WEEK) - 1; - if (0 == tmp) { - tmp = 7; - } - cal.add(Calendar.DATE, -(tmp-1)); - return getDateStringFromDate(cal.getTime(), "yyyy-MM-dd" ) + " 00:00:00"; - } catch (ParseException e) { - throw e; - } catch (Exception e) { - throw e; - } - } - - public static String getEndOfWeek(String dateString) throws Exception{ - try { - Date date = getDateFromString(getStartOfWeek(dateString), "yyyy-MM-dd HH:mm:ss" ); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.setFirstDayOfWeek(Calendar.MONDAY); - cal.add(Calendar.DATE, 6); - return getDateStringFromDate(cal.getTime(), "yyyy-MM-dd" ) + " 23:59:59"; - } catch (ParseException e) { - throw e; - } catch (Exception e) { - throw e; - } - } - - - - /** - * 将时间格式转换为 **月**日**时**分的格式 - * @param dateString - * @param style - * @return - * @throws Exception - */ - public static String getDateCNString( String dateString, String style ) throws Exception{ - StringBuffer ch_date_string = new StringBuffer(); - Date _date = null; - try{ - _date = getDateFromString( dateString, style ); - }catch(Exception e){ - throw e; - } - if(_date == null ){ - _date = new Date(); - } - String year = getYear( _date ); - String month = getMonth( _date ); - String day = getDay( _date ); - String hour = getHour( _date ); - String min = getMinites( _date ); - ch_date_string.append( year ); - ch_date_string.append( "年" ); - ch_date_string.append( month ); - ch_date_string.append( "月" ); - ch_date_string.append( day ); - ch_date_string.append( "日" ); - ch_date_string.append( hour ); - ch_date_string.append( "时" ); - ch_date_string.append( min ); - ch_date_string.append( "分" ); - return ch_date_string.toString(); - } - - /** - * 将时间格式转换为 **月**日**时**分**秒 的格式 - * @param dateString - * @param style - * @return - * @throws Exception - */ - public static String getDateCNString2( String dateString, String style ) throws Exception{ - StringBuffer ch_date_string = new StringBuffer(); - Date _date = null; - try{ - _date = getDateFromString( dateString, style ); - }catch(Exception e){ - throw e; - } - if(_date == null ){ - _date = new Date(); - } - String year = getYear( _date ); - String month = getMonth( _date ); - String day = getDay( _date ); - String hour = getHour( _date ); - String min = getMinites( _date ); - String sec = getSeconds( _date ); - ch_date_string.append( year ); - ch_date_string.append( "年" ); - ch_date_string.append( month ); - ch_date_string.append( "月" ); - ch_date_string.append( day ); - ch_date_string.append( "日" ); - ch_date_string.append( hour ); - ch_date_string.append( "时" ); - ch_date_string.append( min ); - ch_date_string.append( "分" ); - ch_date_string.append( sec ); - ch_date_string.append( "秒" ); - return ch_date_string.toString(); - } - - /** - * 获取日期在一年中的周数 - * 结果从1开始 - * @param dateString yyyy-mm-dd - * @return - * @throws Exception - */ - public static int getWeekNumOfYear( String dateString ) throws Exception{ - try { - Date date = getDateFromString( dateString , "yyyy-MM-dd" ); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.setFirstDayOfWeek(2);//设置每周的第一天是星期一 - return cal.get( Calendar.WEEK_OF_YEAR ); - } catch (ParseException e) { - throw e; - } catch (Exception e) { - throw e; - } - } - - /** - * 获取日期在一年中的周数 - * 结果从1开始 - * @param dateString yyyy-mm-dd - * @return - */ - public static int getWeekNumOfYear( Date date ){ - try { - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.setFirstDayOfWeek(2);//设置每周的第一天是星期一 - return cal.get( Calendar.WEEK_OF_YEAR ); - } catch (Exception e) { - throw e; - } - } - - /** - * 判断是否周末 - * @param recordDate - * @return - */ - public static boolean isWeekend(Date date) { - Calendar cal = Calendar.getInstance(); - cal.setTime( date ); - if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY||cal.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){ - return true; - } - return false; - } - - public static long getMinutes( Date date1, Date data2){ - long l=data2.getTime()-date1.getTime(); - long min=((l/(60*1000))); - return min; - } - - /** - * 根据提供的年份月份,获取当月所有的日期字符串:yyyy-mm-dd - * @param s_year - * @param _month - * @return - */ - public static List getDateStringFormMonth(String s_year, String _month) { - List result = new ArrayList(); - Calendar cal = Calendar.getInstance(); - int year = 0; - int month = 0; - int days = 0; - try{ - year = Integer.parseInt( s_year ); - }catch(Exception e){ - e.printStackTrace(); - } - try{ - month = Integer.parseInt( _month ); - }catch(Exception e){ - e.printStackTrace(); - } - cal.set(year, month-1, 1); - days = cal.getActualMaximum(Calendar.DATE); - for( int i =1; i<= days ; i++){ - result.add( s_year + "-" + (month<10?"0"+month:month) + "-" + (i<10?"0"+i:i)); - } - return result; - } - - /** - * 根据提供的两个时间之间所有的日期字符串:yyyy-mm-dd - * @param startDate - * @param endDate - * @return - * @throws Exception - */ - public static List listDateStringBetweenDate( Date startDate, Date endDate ) throws Exception { - List result = new ArrayList(); - Calendar cal = Calendar.getInstance(); - startDate = getDateFromString( getDateStringFromDate( startDate, "yyyy-MM-dd" ) ); - endDate = getDateFromString( getDateStringFromDate( endDate, "yyyy-MM-dd" ) + " 23:59:59" ); - cal.setTime( startDate ); - while( cal.getTime().before(endDate)){ - //logger.debug( getDateStringFromDate( cal.getTime(), "yyyy-MM-dd" ) ); - result.add( getDateStringFromDate( cal.getTime(), "yyyy-MM-dd" )); - cal.add(Calendar.DATE, 1); - } - return result; - } - - /** - * 获取日期所在月份的第一天 - * @param recordDate - * @return - * @throws Exception - */ - public static Date getFirstDateInMonth(Date recordDate) throws Exception { - String year = format8.format(recordDate); - String month = format9.format(recordDate); - return getDateFromString( year + "-" + month + "-01" ); - } - - /** - * 获取日期所在月份的第一天 - * @param recordDate yyyy-MM-dd - * @return - * @throws Exception - */ - public static String getFirstDateStringInMonth(Date recordDate) throws Exception { - String year = format8.format(recordDate); - String month = format9.format(recordDate); - return year + "-" + month + "-01"; - } - - /** - * 获取当月的最后一日 - * @param date - * @return - */ - public static Date getLastDayOfMonth(Date date) { - Calendar calendar = convert(date); - calendar.set(Calendar.DATE, calendar.getMaximum(Calendar.DATE)); - return calendar.getTime(); - } - /** - * 将日期转换为日历 - * @param date 日期 - * @return 日历 - */ - private static Calendar convert(Date date) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - return calendar; - } - /** - * 获取日期所在月份的第一天 - * @param recordDate - * @return - * @throws Exception - */ - public static Date getLastDateInMonth(Date recordDate) throws Exception { - Date lastDate = getLastDayOfMonth(recordDate); - return getDateFromString( getDateStringFromDate( lastDate, "yyyy-MM-dd" ) ); - } - - /** - * 获取日期所在月份的第一天 - * @param recordDate yyyy-MM-dd - * @return - * @throws Exception - */ - public static String getLastDateStringInMonth(Date recordDate) throws Exception { - Date lastDate = getLastDayOfMonth(recordDate); - return getDateStringFromDate( lastDate, "yyyy-MM-dd" ); - } - - /** - * 获取今天开始的时间 - * @return - */ - public static Date getTodayStartTime() { - String todayDateTime = getNowDate() + " 00:00:00"; - try { - return getDateFromString( todayDateTime ); - } catch (Exception e) { - return new Date(); - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/AbstractFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/AbstractFactory.java deleted file mode 100644 index 667fc6c734477cd72aa6ff469c5d9798c597f6a9..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/AbstractFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.x.teamwork.assemble.control; - -import com.x.base.core.container.EntityManagerContainer; - -public abstract class AbstractFactory { - - private Business business; - - public AbstractFactory( Business business ) throws Exception { - try { - if ( null == business ) { - throw new Exception( "business can not be null. " ); - } - this.business = business; - } catch ( Exception e ) { - throw new Exception( "can not instantiating factory." ); - } - } - - public EntityManagerContainer entityManagerContainer() throws Exception { - return this.business.entityManagerContainer(); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ApplicationServletContextListener.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ApplicationServletContextListener.java deleted file mode 100644 index a0b2314031160efb9076d11740d0c8df6a4bf8b9..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ApplicationServletContextListener.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.x.teamwork.assemble.control; - -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import javax.servlet.annotation.WebListener; - -import com.x.base.core.project.Context; - -@WebListener -public class ApplicationServletContextListener implements ServletContextListener { - - @Override - public void contextInitialized(ServletContextEvent servletContextEvent) { - try { - ThisApplication.context = Context.concrete(servletContextEvent); - ThisApplication.init(); - ThisApplication.context().regist(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void contextDestroyed(ServletContextEvent servletContextEvent) { - try { - ThisApplication.destroy(); - ThisApplication.context.destrory(servletContextEvent); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ThisApplication.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ThisApplication.java deleted file mode 100644 index edf1514ba5aa2a595c21f3ca7108413e60e39e41..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/ThisApplication.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.x.teamwork.assemble.control; - -import com.x.base.core.project.Context; -import com.x.base.core.project.message.MessageConnector; -import com.x.teamwork.assemble.control.queue.QueueBatchOperation; -import com.x.teamwork.assemble.control.service.SystemConfigPersistService; -import com.x.teamwork.assemble.control.timertask.Timertask_BatchOperationTask; -import com.x.teamwork.assemble.control.timertask.Timertask_CheckAllTaskOverTime; -import com.x.teamwork.assemble.control.timertask.Timertask_RefreshAllTaskReview; - -public class ThisApplication { - - protected static Context context; - public static QueueBatchOperation queueBatchOperation; - - public static Context context() { - return context; - } - - public static void init() { - try { - //执行消息操作 - queueBatchOperation = new QueueBatchOperation(); - - MessageConnector.start(context()); - - context().startQueue( queueBatchOperation ); - - new SystemConfigPersistService().initSystemConfig(); - - //每隔5分钟检查是否有未完成的批处理工作需要完成以及是否有未review的task需要核对权限信息 - context.schedule( Timertask_BatchOperationTask.class, "0 */2 * * * ?" ); - - //每天凌晨把所有项目的所有工作任务的权限和review信息核对一次 - context.schedule( Timertask_RefreshAllTaskReview.class, "0 0 2 * * ?" ); - - //每30分钟核对一次所有的工作任务,判断工作任务是否已经超时 - //context.schedule( Timertask_CheckAllTaskOverTime.class, "0 0/30 * * * ?" ); - context.schedule( Timertask_CheckAllTaskOverTime.class, "0 */9 * * * ?" ); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void destroy() { - try { - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/AttachmentFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/AttachmentFactory.java deleted file mode 100644 index 8d60edb0146a9ed299f391a0a7412d5b1d7a85bf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/AttachmentFactory.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Attachment_; - -public class AttachmentFactory extends AbstractFactory { - - public AttachmentFactory(Business business) throws Exception { - super(business); - } - - public Attachment get( String id ) throws Exception { - return this.entityManagerContainer().find(id, Attachment.class, ExceptionWhen.none); - } - - public List listAll() throws Exception { - EntityManager em = this.entityManagerContainer().get(Attachment.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from( Attachment.class); - cq.select(root.get(Attachment_.id)); - return em.createQuery(cq).getResultList(); - } - - public List list(List ids) throws Exception { - if( ListTools.isEmpty( ids ) ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(Attachment.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Attachment.class); - Root root = cq.from(Attachment.class); - Predicate p = root.get(Attachment_.id).in(ids); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listAttachmentWithProject(String project) throws Exception { - if( StringUtils.isEmpty( project ) ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(Attachment.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Attachment.class); - Root root = cq.from(Attachment.class); - Predicate p = cb.equal( root.get(Attachment_.projectId), project ); - p = cb.and( p, cb.equal( root.get(Attachment_.bundleObjType ), "PROJECT")); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listAttachmentWithTask(String taskId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(Attachment.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Attachment.class); - Root root = cq.from(Attachment.class); - Predicate p = cb.equal( root.get(Attachment_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get(Attachment_.bundleObjType ), "TASK")); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/BatchOperationFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/BatchOperationFactory.java deleted file mode 100644 index a7b6d38dd612b9b326e41d64ab9ae3653fdb661d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/BatchOperationFactory.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.BatchOperation; -import com.x.teamwork.core.entity.BatchOperation_; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; -import java.util.List; - -/** - * 批处理操作信息记录,比如需要级联删除大量的工作重新计算权限等 - */ -public class BatchOperationFactory extends AbstractFactory { - - public BatchOperationFactory(Business business) throws Exception { - super(business); - } - - public List list( List ids ) throws Exception { - EntityManager em = this.entityManagerContainer().get( BatchOperation.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( BatchOperation.class ); - Root root = cq.from( BatchOperation.class ); - Predicate p = root.get( BatchOperation_.id).in( ids ); - cq.orderBy( cb.asc( root.get( BatchOperation.createTime_FIELDNAME ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List list(Integer maxCount) throws Exception { - EntityManager em = this.entityManagerContainer().get( BatchOperation.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( BatchOperation.class ); - Root root = cq.from( BatchOperation.class ); - cq.orderBy( cb.asc( root.get( BatchOperation.createTime_FIELDNAME ) ) ); - return em.createQuery(cq).setMaxResults(maxCount).getResultList(); - } - - public List listNotRun(Integer maxCount) throws Exception { - EntityManager em = this.entityManagerContainer().get( BatchOperation.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( BatchOperation.class ); - Root root = cq.from( BatchOperation.class ); - Predicate p = cb.isFalse( root.get( BatchOperation_.isRunning ) ); - cq.orderBy( cb.asc( root.get( BatchOperation.createTime_FIELDNAME ) ) ); - return em.createQuery(cq.where(p)).setMaxResults(maxCount).getResultList(); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ChatFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ChatFactory.java deleted file mode 100644 index 71786ba2a95635dfde2f4043e29a05416ad1da44..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ChatFactory.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Order; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.ChatContent; -import com.x.teamwork.core.entity.Chat_; -import com.x.teamwork.core.entity.tools.CriteriaBuilderTools; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - - -public class ChatFactory extends AbstractFactory { - - public ChatFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的Chat实体信息对象 - * @param id - * @return - * @throws Exception - */ - public Chat get( String id ) throws Exception { - return this.entityManagerContainer().find( id, Chat.class, ExceptionWhen.none ); - } - - /** - * 根据ChatId获取LOB内容 - * @param id - * @return - * @throws Exception - */ - public ChatContent getContent(String id) throws Exception { - return this.entityManagerContainer().find( id, ChatContent.class, ExceptionWhen.none ); - } - - /** - * 根据ChatId获取LOB内容 - * @param id - * @return - * @throws Exception - */ - public String getContentString(String id) throws Exception { - ChatContent content = this.entityManagerContainer().find( id, ChatContent.class, ExceptionWhen.none ); - if( content != null ) { - return content.getContent(); - } - return null; - } - - /** - * 根据条件查询符合条件的Chat数量 - * @param personName - * @param unitNames - * @param groupNames - * @param queryFilter - * @return - * @throws Exception - */ - public Long countWithFilter( QueryFilter queryFilter) throws Exception { - EntityManager em = this.entityManagerContainer().get( Chat.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(Chat.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Chat_.class, cb, null, root, queryFilter ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - /** - * 根据条件查询符合条件的项目信息ID(查询前N条内存分页支持) - * @param personName - * @param unitNames - * @param groupNames - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( Integer maxCount, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Chat.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Chat.class); - Root root = cq.from(Chat.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Chat_.class, cb, null, root, queryFilter ); - - Order orderWithField = CriteriaBuilderTools.getOrder(cb, root, Chat_.class, orderField, orderType); - if( orderWithField != null ){ - cq.orderBy( orderWithField ); - } - return em.createQuery(cq.where(p)).setMaxResults( maxCount).getResultList(); - } - - /** - * 根据条件查询符合条件的项目信息ID(根据sequnce分页支持) - * @param maxCount - * @param sequenceFieldValue - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( Integer maxCount, Object sequenceFieldValue, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Chat.class ); - return CriteriaBuilderTools.listNextWithCondition( em, Chat.class, Chat_.class, maxCount, queryFilter, sequenceFieldValue, orderField, orderType ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/DynamicFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/DynamicFactory.java deleted file mode 100644 index 4fd00fc0d6768db8702ba912cb0e5ae2dc3b198f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/DynamicFactory.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Order; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.DynamicDetail; -import com.x.teamwork.core.entity.Dynamic_; -import com.x.teamwork.core.entity.tools.CriteriaBuilderTools; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - - -public class DynamicFactory extends AbstractFactory { - - public DynamicFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的Dynamic实体信息对象 - * @param id - * @return - * @throws Exception - */ - public Dynamic get( String id ) throws Exception { - return this.entityManagerContainer().find( id, Dynamic.class, ExceptionWhen.none ); - } - - public DynamicDetail getDetail(String flag) throws Exception { - return this.entityManagerContainer().find( flag, DynamicDetail.class, ExceptionWhen.none ); - } - - /** - * 根据过滤条件查询符合要求的项目信息数量 - * @param queryFilter - * @return - * @throws Exception - */ - public Long countWithFilter( QueryFilter queryFilter) throws Exception { - EntityManager em = this.entityManagerContainer().get( Dynamic.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(Dynamic.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Dynamic_.class, cb, null, root, queryFilter ); - cq.select(cb.count(root)); - return em.createQuery(cq.where(p)).getSingleResult(); - } - - /** - * 根据条件查询符合条件的项目信息ID(查询前N条内存分页支持) - * @param maxCount - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( Integer maxCount, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Dynamic.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Dynamic.class); - Root root = cq.from(Dynamic.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Dynamic_.class, cb, null, root, queryFilter ); - - Order orderWithField = CriteriaBuilderTools.getOrder(cb, root, Dynamic_.class, orderField, orderType); - if( orderWithField != null ){ - cq.orderBy( orderWithField ); - } - return em.createQuery(cq.where(p)).setMaxResults( maxCount).getResultList(); - } - - /** - * 根据条件查询符合条件的项目信息ID(根据sequnce分页支持) - * @param maxCount - * @param sequenceFieldValue - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( Integer maxCount, Object sequenceFieldValue, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Dynamic.class ); - return CriteriaBuilderTools.listNextWithCondition( em, Dynamic.class, Dynamic_.class, maxCount, queryFilter, sequenceFieldValue, orderField, orderType ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupFactory.java deleted file mode 100644 index 20a4e11b1f9d1f3d7be72528cd64a8b501b7ac35..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupFactory.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.ProjectGroup; -import com.x.teamwork.core.entity.ProjectGroup_; - - -public class ProjectGroupFactory extends AbstractFactory { - - public ProjectGroupFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的ProjectGroup实体信息对象 - * @param id - * @return - * @throws Exception - */ - public ProjectGroup get( String id ) throws Exception { - return this.entityManagerContainer().find( id, ProjectGroup.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的ProjectGroup实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(ProjectGroup.class); - Root root = cq.from(ProjectGroup.class); - Predicate p = root.get(ProjectGroup_.id).in(ids); - cq.orderBy( cb.desc( root.get( ProjectGroup_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户列示ProjectGroup实体信息列表 - * @param person - * @return - * @throws Exception - */ - public List listByPerson( String person ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(ProjectGroup.class); - Predicate p = cb.equal( root.get(ProjectGroup_.owner), person ); - cq.select( root.get(ProjectGroup_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户列示ProjectGroup实体信息列表 - * @param person - * @return - * @throws Exception - */ - public List listGroupByPerson( String person ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(ProjectGroup.class); - Root root = cq.from(ProjectGroup.class); - Predicate p = cb.equal( root.get(ProjectGroup_.owner), person ); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupReleFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupReleFactory.java deleted file mode 100644 index 71cc64458e60351787ee0aa47f8ddd5fe05b8bdc..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ProjectGroupReleFactory.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.ProjectGroupRele; -import com.x.teamwork.core.entity.ProjectGroupRele_; - - -public class ProjectGroupReleFactory extends AbstractFactory { - - public ProjectGroupReleFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的ProjectGroupRele实体信息对象 - * @param id - * @return - * @throws Exception - */ - public ProjectGroupRele get( String id ) throws Exception { - return this.entityManagerContainer().find( id, ProjectGroupRele.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的ProjectGroupRele实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(ProjectGroupRele.class); - Root root = cq.from(ProjectGroupRele.class); - Predicate p = root.get(ProjectGroupRele_.id).in(ids); - cq.orderBy( cb.desc( root.get( ProjectGroupRele_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID列示项目ID信息列表 - * @param group - * @return - * @throws Exception - */ - public List listProjectIdByGroup( String group ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(ProjectGroupRele.class); - Predicate p = cb.equal( root.get(ProjectGroupRele_.groupId), group ); - cq.select( root.get(ProjectGroupRele_.projectId) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID列示关联信息ID列表 - * @param group - * @return - * @throws Exception - */ - public List listByGroup( String group ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(ProjectGroupRele.class); - Predicate p = cb.equal( root.get(ProjectGroupRele_.groupId), group ); - cq.select( root.get(ProjectGroupRele_.id) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID以及项目ID获取一个关联信息 - * @param group - * @param project - * @return - * @throws Exception - */ - public List listWithGroupAndProject( String group, String project ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - if( StringUtils.isEmpty( project ) ){ - throw new Exception("project can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(ProjectGroupRele.class); - Root root = cq.from(ProjectGroupRele.class); - Predicate p = cb.equal( root.get(ProjectGroupRele_.groupId), group ); - p = cb.and( p, cb.equal( root.get(ProjectGroupRele_.projectId), project )); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listReleWithProject(String projectId) throws Exception { - if( StringUtils.isEmpty( projectId ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(ProjectGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(ProjectGroupRele.class); - Root root = cq.from(ProjectGroupRele.class); - Predicate p = cb.equal( root.get(ProjectGroupRele_.projectId), projectId ); - return em.createQuery(cq.where(p)).getResultList(); - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ReviewFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ReviewFactory.java deleted file mode 100644 index 15242d69e8208ffabf67224d2db0a3741ec6e867..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/ReviewFactory.java +++ /dev/null @@ -1,229 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Order; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.Project_; -import com.x.teamwork.core.entity.Review; -import com.x.teamwork.core.entity.Review_; -import com.x.teamwork.core.entity.tools.CriteriaBuilderTools; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -/** - * 工作任务权限控制信息服务类 - */ -public class ReviewFactory extends AbstractFactory { - - public ReviewFactory( Business business) throws Exception { - super(business); - } - - public List listReviewByTask( String taskId, Integer maxCount ) throws Exception { - if( maxCount == null ) { - maxCount = 1000; - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal(root.get( Review_.taskId ), taskId ); - cq.select( root.get( Review_.id) ).where(p); - return em.createQuery( cq ).setMaxResults(maxCount).getResultList(); - } - - public List listTaskIdsWithPersonAndProject(String person, String project ) throws Exception { - if( StringUtils.isEmpty( person ) ) { - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal( root.get( Review_.permissionObj ), person ); - p = cb.and( p, cb.equal( root.get( Review_.project ), project )); - if(!this.getProject(project)){ - p = cb.and( p, cb.equal( root.get( Review_.deleted ), false )); - } - cq.select(root.get( Review_.taskId)).where(p); - return em.createQuery( cq ).getResultList(); - } - - public List listTaskIdsWithPersonAndProject( String project, String person, Integer maxCount ) throws Exception { - if( maxCount == null ) { - maxCount = 1000; - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal(root.get( Review_.project ), project ); - p = cb.and( p, cb.equal(root.get( Review_.permissionObj ), person )); - if(!this.getProject(project)){ - p = cb.and( p, cb.equal( root.get( Review_.deleted ), false )); - } - cq.select( root.get( Review_.taskId) ).where(p); - return em.createQuery( cq ).setMaxResults(maxCount).getResultList(); - } - - public List listPermissionByTask( String taskId, Integer maxCount ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal(root.get( Review_.taskId ), taskId ); - cq.select(root.get( Review_.permissionObj )).where(p); - return em.createQuery( cq ).setMaxResults(maxCount).getResultList(); - } - - public List listIdsByTaskAndPerson(String taskId, String person) throws Exception { - if( StringUtils.isEmpty( taskId ) ) { - throw new Exception("task id can not be empty!"); - } - if( StringUtils.isEmpty( person ) ) { - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal(root.get( Review_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get( Review_.permissionObj ), person)); - cq.select(root.get( Review_.id)).where(p); - return em.createQuery( cq ).getResultList(); - } - - public List listByTaskAndPerson(String taskId, String person) throws Exception { - if( StringUtils.isEmpty( taskId ) ) { - throw new Exception("task id can not be empty!"); - } - if( StringUtils.isEmpty( person ) ) { - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( Review.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal(root.get( Review_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get( Review_.permissionObj ), person)); - return em.createQuery( cq.where(p) ).getResultList(); - } - - public Long countByTask(String taskId) throws Exception { - if( StringUtils.isEmpty( taskId ) ) { - throw new Exception("task id can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(Review.class); - Predicate p = cb.equal( root.get(Review_.taskId), taskId ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - public Long countWithFilter(String personName, QueryFilter queryFilter) throws Exception { - if( StringUtils.isEmpty( personName ) ) { - return 0L; - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(Review.class); - Predicate p_permission = cb.equal( root.get(Review_.permissionObj), personName ); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Review_.class, cb, p_permission, root, queryFilter ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - public List listWithFilter( Integer maxCount, String orderField, String orderType, String personName, QueryFilter queryFilter) throws Exception { - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Review.class); - Root root = cq.from(Review.class); - Predicate p_permission = null; - if( StringUtils.isNotEmpty( personName )) { - p_permission = CriteriaBuilderTools.predicate_or( cb, p_permission, cb.equal( root.get( Review_.permissionObj ), personName )); - } - - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( Review_.class, cb, p_permission, root, queryFilter ); - - //排序,添加排序列,默认使用sequence - List orders = new ArrayList<>(); - Order orderWithField = CriteriaBuilderTools.getOrder( cb, root, Review_.class, orderField, orderType ); - if( orderWithField != null ){ - orders.add( orderWithField ); - } - - if( !Review.taskSequence_FIELDNAME.equalsIgnoreCase( orderField )) { - //如果是其他的列,很可能排序值不唯一,所以使用多一列排序列来确定每次查询的顺序 - orderWithField = CriteriaBuilderTools.getOrder( cb, root, Review_.class, Review.id_FIELDNAME, orderType ); - if( orderWithField != null ){ - orders.add( orderWithField ); - } - } - if( ListTools.isNotEmpty( orders )){ - cq.orderBy( orders ); - } - return em.createQuery(cq.where(p)).setMaxResults( maxCount).getResultList(); - } - - public List checkTaskIdsWithPermission(List taskIds, String personName) throws Exception { - if( ListTools.isEmpty( taskIds ) ) { - throw new Exception("taskIds can not be empty!"); - } - if( StringUtils.isEmpty( personName ) ) { - throw new Exception("personName can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( String.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal( root.get( Review_.permissionObj ), personName ); - p = cb.and( p, root.get( Review_.taskId ).in( taskIds )); - p = cb.and( p, cb.equal( root.get( Review_.deleted ), false )); - cq.select(root.get( Review_.taskId)).where(p); - return em.createQuery( cq ).getResultList(); - } - - public List listTaskWithPersonAndParentId(String person, String taskId) throws Exception { - if( StringUtils.isEmpty( person ) ) { - throw new Exception("person can not be empty!"); - } - if( StringUtils.isEmpty( taskId ) ) { - throw new Exception("taskId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Review.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery( Review.class ); - Root root = cq.from( Review.class ); - Predicate p = cb.equal( root.get( Review_.permissionObj ), person ); - p = cb.and( p, cb.equal( root.get( Review_.parent ), taskId )); - p = cb.and( p, cb.equal( root.get( Review_.deleted ), false )); - return em.createQuery( cq.where(p) ).getResultList(); - } - - public Boolean getProject(String project) throws Exception { - if( StringUtils.isEmpty( project ) ) { - throw new Exception("project id can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( Project.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Boolean.class); - Root root = cq.from(Project.class); - Predicate p = cb.equal( root.get(Project_.id), project ); - cq.select(root.get( Project_.deleted)).where(p); - return em.createQuery(cq).getSingleResult(); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/SystemConfigFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/SystemConfigFactory.java deleted file mode 100644 index 2a449b1cdf768facae7d703f924da309df5adee3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/SystemConfigFactory.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.SystemConfig; -import com.x.teamwork.core.entity.SystemConfig_; - -public class SystemConfigFactory extends AbstractFactory { - - public SystemConfigFactory( Business business) throws Exception { - super(business); - } - - public SystemConfig get( String id ) throws Exception { - return this.entityManagerContainer().find(id, SystemConfig.class, ExceptionWhen.none); - } - - public List listAll() throws Exception { - EntityManager em = this.entityManagerContainer().get(SystemConfig.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(SystemConfig.class); - @SuppressWarnings("unused") - Root root = cq.from( SystemConfig.class); - return em.createQuery(cq).getResultList(); - } - - public List list(List ids) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(SystemConfig.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(SystemConfig.class); - Root root = cq.from(SystemConfig.class); - Predicate p = root.get( SystemConfig_.id).in(ids); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listIdsByCode(String code) throws Exception { - if( code == null || code.isEmpty() ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(SystemConfig.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(SystemConfig.class); - Predicate p = cb.equal(root.get(SystemConfig_.configCode), code); - cq.select(root.get(SystemConfig_.id)); - return em.createQuery(cq.where(p)).getResultList(); - } - - public SystemConfig getWithConfigCode( String configCode ) throws Exception { - if( configCode == null || configCode.isEmpty() ){ - return null; - } - SystemConfig attendanceSetting = null; - List settingList = null; - EntityManager em = this.entityManagerContainer().get(SystemConfig.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(SystemConfig.class); - Root root = cq.from(SystemConfig.class); - Predicate p = cb.equal(root.get( SystemConfig_.configCode ), configCode ); - settingList = em.createQuery(cq.where(p)).getResultList(); - if( settingList != null && settingList.size() > 0 ){ - attendanceSetting = settingList.get(0); - } - return attendanceSetting; - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskFactory.java deleted file mode 100644 index a752adc573408d834c5c30da559c01f213e1b7cb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskFactory.java +++ /dev/null @@ -1,166 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskDetail; -import com.x.teamwork.core.entity.Task_; - - -public class TaskFactory extends AbstractFactory { - - public TaskFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的Task实体信息对象 - * @param id - * @return - * @throws Exception - */ - public Task get( String id ) throws Exception { - return this.entityManagerContainer().find( id, Task.class, ExceptionWhen.none ); - } - - /** - * 获取指定Id的TaskDetail实体信息对象 - * @param id - * @return - * @throws Exception - */ - public TaskDetail getDetail( String id ) throws Exception { - return this.entityManagerContainer().find( id, TaskDetail.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的Task实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Task.class); - Root root = cq.from(Task.class); - Predicate p = root.get(Task_.id).in(ids); - cq.orderBy( cb.asc( root.get( Task_.createTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据类别列示Task实体ID信息列表 - * @param application - * @return - * @throws Exception - */ - public List listByProject( String projectId ) throws Exception { - if( StringUtils.isEmpty( projectId ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(Task.class); - Predicate p = cb.equal( root.get(Task_.project), projectId ); - cq.select( root.get(Task_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 查询未review的工作任务信息 - * @param maxCount - * @return - * @throws Exception - */ - public List listUnReviewTask(int maxCount) throws Exception { - if( maxCount == 0 ){ - maxCount = 100; - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Task.class); - Root root = cq.from(Task.class); - Predicate p = cb.or( cb.isNull(root.get(Task_.reviewed )), cb.isFalse( root.get(Task_.reviewed ))); - cq.orderBy( cb.asc( root.get( Task_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - - /** - * 根据类别列示Task实体信息列表 - * @param application - * @return - * @throws Exception - */ - public List listByParent( String pid) throws Exception { - if( StringUtils.isEmpty( pid ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(Task.class); - Predicate p = cb.equal( root.get(Task_.parent), pid ); - cq.select( root.get(Task_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据条件查询符合条件的项目信息数量 - * @param projectId - * @return - * @throws Exception - */ - public Long countWithProject( String projectId ) throws Exception { - EntityManager em = this.entityManagerContainer().get( Task.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(Task.class); - Predicate p = cb.equal( root.get( Task_.project), projectId ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - public List allUnCompletedSubTasks(String taskId) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Task.class); - Root root = cq.from(Task.class); - Predicate p = cb.equal( root.get( Task_.parent ), taskId ); - p = cb.and( p, cb.isFalse( root.get(Task_.completed ))); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listAllTaskIdsWithProject(String project) throws Exception { - if( StringUtils.isEmpty( project ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(Task.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(Task.class); - Predicate p = cb.equal( root.get( Task_.project ), project ); - cq.select( root.get(Task_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupFactory.java deleted file mode 100644 index 44b443a7726f054acec81b63d72883adbf294bf7..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupFactory.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskGroup_; - - -public class TaskGroupFactory extends AbstractFactory { - - public TaskGroupFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的TaskGroup实体信息对象 - * @param id - * @return - * @throws Exception - */ - public TaskGroup get( String id ) throws Exception { - return this.entityManagerContainer().find( id, TaskGroup.class ); - } - - /** - * 列示指定Id的TaskGroup实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(TaskGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroup.class); - Root root = cq.from(TaskGroup.class); - Predicate p = root.get(TaskGroup_.id).in(ids); - cq.orderBy( cb.desc( root.get( TaskGroup_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户列示TaskGroup实体信息列表 - * @param person - * @return - * @throws Exception - */ - public List listByPerson( String person ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskGroup.class); - Predicate p = cb.equal( root.get(TaskGroup_.owner), person ); - cq.select( root.get(TaskGroup_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户列示TaskGroup实体信息列表 - * @param person - * @return - * @throws Exception - */ - public List listGroupByPerson( String person ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroup.class); - Root root = cq.from(TaskGroup.class); - Predicate p = cb.equal( root.get(TaskGroup_.owner), person ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户和项目列示TaskGroup实体信息ID列表 - * @param person - * @param project - * @return - * @throws Exception - */ - public List listByPersonAndProject( String person, String project ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - if( StringUtils.isEmpty( project ) ){ - throw new Exception("project can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskGroup.class); - Predicate p = cb.equal( root.get(TaskGroup_.owner), person ); - p = cb.and( p, cb.equal( root.get(TaskGroup_.project), project ) ); - cq.select( root.get(TaskGroup_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户和项目列示TaskGroup实体信息列表 - * @param person - * @param project - * @return - * @throws Exception - */ - public List listGroupByPersonAndProject( String person, String project ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - if( StringUtils.isEmpty( project ) ){ - throw new Exception("project can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroup.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroup.class); - Root root = cq.from(TaskGroup.class); - Predicate p = cb.equal( root.get(TaskGroup_.owner), person ); - p = cb.and( p, cb.equal( root.get(TaskGroup_.project), project ) ); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupReleFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupReleFactory.java deleted file mode 100644 index 82cc43c3dfc664069c569dd293125f822d4806a2..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskGroupReleFactory.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskGroupRele; -import com.x.teamwork.core.entity.TaskGroupRele_; - - -public class TaskGroupReleFactory extends AbstractFactory { - - public TaskGroupReleFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的TaskGroupRele实体信息对象 - * @param id - * @return - * @throws Exception - */ - public TaskGroupRele get( String id ) throws Exception { - return this.entityManagerContainer().find( id, TaskGroupRele.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的TaskGroupRele实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroupRele.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = root.get(TaskGroupRele_.id).in(ids); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID列示项目ID信息列表 - * @param group - * @return - * @throws Exception - */ - public List listTaskIdByGroup( String group ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = cb.equal( root.get(TaskGroupRele_.taskGroupId), group ); - cq.select( root.get(TaskGroupRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID列示关联信息ID列表 - * @param group - * @return - * @throws Exception - */ - public List listByGroup( String group ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = cb.equal( root.get(TaskGroupRele_.taskGroupId), group ); - cq.select( root.get(TaskGroupRele_.id) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据项目组ID以及项目ID获取一个关联信息 - * @param group - * @param project - * @return - * @throws Exception - */ - public List listWithGroupAndTask( String group, String taskId ) throws Exception { - if( StringUtils.isEmpty( group ) ){ - throw new Exception("group can not be empty!"); - } - if( StringUtils.isEmpty( taskId ) ){ - throw new Exception("taskId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroupRele.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = cb.equal( root.get(TaskGroupRele_.taskGroupId), group ); - p = cb.and( p, cb.equal( root.get(TaskGroupRele_.taskId), taskId )); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskReleWithProject(String projectId ) throws Exception { - if( StringUtils.isEmpty( projectId ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroupRele.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = cb.equal( root.get(TaskGroupRele_.project), projectId ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskReleWithTask(String taskId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - throw new Exception("taskId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskGroupRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskGroupRele.class); - Root root = cq.from(TaskGroupRele.class); - Predicate p = cb.equal( root.get(TaskGroupRele_.taskId), taskId ); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskListFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskListFactory.java deleted file mode 100644 index 5535fe8822301428b3f2cba4a2df09322168e1e6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskListFactory.java +++ /dev/null @@ -1,420 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskListRele; -import com.x.teamwork.core.entity.TaskListRele_; -import com.x.teamwork.core.entity.TaskList_; - - -public class TaskListFactory extends AbstractFactory { - - public TaskListFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的TaskList实体信息对象 - * @param id - * @return - * @throws Exception - */ - public TaskList get( String id ) throws Exception { - return this.entityManagerContainer().find( id, TaskList.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的TaskList实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(TaskList.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskList.class); - Root root = cq.from(TaskList.class); - Predicate p = root.get(TaskList_.id).in(ids); - cq.orderBy( cb.desc( root.get( TaskList_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 列示指定Id的TaskList实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List listRele( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = root.get(TaskListRele_.id).in(ids); - cq.orderBy( cb.desc( root.get( TaskListRele_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户和项目ID查询工作任务列表(泳道) - * @param person - * @param projectId - * @return - * @throws Exception - */ - public List listWithPersonAndProject( String person, String projectId ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - if( StringUtils.isEmpty( projectId ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskList.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskList.class); - Root root = cq.from(TaskList.class); - Predicate p = cb.equal( root.get(TaskList_.owner ), person ); - p = cb.and( p, cb.equal( root.get(TaskList_.project), projectId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据列表ID获取所有的工作任务关联ID列表 - * @param listId - * @return - * @throws Exception - */ - public List listReleIdsWithListId(String listId ) throws Exception { - if( StringUtils.isEmpty( listId ) ){ - throw new Exception("listId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId), listId ); - cq.select( root.get(TaskListRele_.id ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据列表ID获取所有的工作任务关联信息列表 - * @param listId - * @return - * @throws Exception - */ - public List listReleWithListId( String listId ) throws Exception { - if( StringUtils.isEmpty( listId ) ){ - throw new Exception("listId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId), listId ); - cq.orderBy( cb.asc( root.get( TaskListRele_.order ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据任务ID和列表ID查询工作列表关联对象 - * @param taskId - * @param listId - * @return - * @throws Exception - */ - public List listReleWithTaskAndList(String taskId, String listId) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - throw new Exception("taskId can not be empty!"); - } - if( StringUtils.isEmpty( listId ) ){ - throw new Exception("listId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId), taskId ); - p = cb.and( p, cb.equal( root.get(TaskListRele_.taskListId), listId )); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据任务ID查询工作列表关联对象 - * @param taskId - * @return - * @throws Exception - */ - public List listReleWithTask(String taskId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - throw new Exception("taskId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId), taskId ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据任务ID查询工作列表关联对象 - * @param taskId - * @return - * @throws Exception - */ - public List listGroupIdsWithTask( String taskId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - throw new Exception("taskId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId), taskId ); - cq.distinct(true).select( root.get(TaskListRele_.taskGroupId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public Integer maxListOrder(String groupId ) throws Exception { - if( StringUtils.isEmpty( groupId ) ){ - throw new Exception("groupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskList.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Integer.class); - Root root = cq.from(TaskList.class); - Predicate p = cb.equal( root.get(TaskList_.taskGroup ), groupId ); - cq.select( cb.max( root.get( TaskList_.order ))); - Integer max = em.createQuery(cq.where(p)).getSingleResult(); - return max == null ? 0 : max; - } - - public Integer maxTaskOrder(String listId) throws Exception { - if( StringUtils.isEmpty( listId ) ){ - throw new Exception("listId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Integer.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId), listId ); - cq.select( cb.max( root.get( TaskListRele_.order ))); - Integer max = em.createQuery(cq.where(p)).getSingleResult(); - return max == null ? 0 : max; - } - - public List listWithTaskGroup(String taskGroupId) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - throw new Exception("taskGroupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskList.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskList.class); - Root root = cq.from(TaskList.class); - Predicate p = cb.equal( root.get(TaskList_.taskGroup ), taskGroupId ); - cq.orderBy( cb.asc( root.get( TaskList_.order ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskListIdsWithTaskGroup(String taskGroupId) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - throw new Exception("taskGroupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskGroupId ), taskGroupId ); - cq.select( root.get(TaskListRele_.taskListId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskIdsWithTaskGroupId(String taskGroupId) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - throw new Exception("taskGroupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskGroupId ), taskGroupId ); - cq.distinct(true).select( root.get(TaskListRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskIdsWithTaskGroupId( List taskLists ) throws Exception { - if( ListTools.isEmpty( taskLists ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = root.get(TaskListRele_.taskListId ).in( taskLists ); - cq.distinct(true).select( root.get(TaskListRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public Long countTaskWithTaskListId(String taskListId) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId ), taskListId ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - public List listTaskIdWithTaskListId(String taskListId) throws Exception { - if( StringUtils.isEmpty( taskListId ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId ), taskListId ); - cq.select( root.get(TaskListRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskIdWithTaskListIds( List taskListIds ) throws Exception { - if(ListTools.isEmpty( taskListIds ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = root.get(TaskListRele_.taskListId ).in( taskListIds ); - cq.select( root.get(TaskListRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskIdWithTaskListId( List taskListId) throws Exception { - if( ListTools.isEmpty( taskListId ) ){ - throw new Exception("taskListId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get( TaskListRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = root.get(TaskListRele_.taskListId ).in( taskListId ); - cq.select( root.get(TaskListRele_.taskId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listReleWithTaskAndGroup( String taskId, String taskGroupId) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - throw new Exception("taskGroupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get(TaskListRele_.taskGroupId ) , taskGroupId)); - return em.createQuery(cq.where(p)).getResultList(); - } - public List listTaskListIdWithTaskAndGroup( String taskId, String taskGroupId ) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - throw new Exception("taskGroupId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get(TaskListRele_.taskGroupId ) , taskGroupId)); - cq.select( root.get(TaskListRele_.taskListId) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskListWithTask(String taskId, String taskGroupId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - return null; - } - if( StringUtils.isEmpty( taskGroupId ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get(TaskListRele_.taskGroupId ), taskGroupId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskListIdWithTask(String taskId, String taskGroupId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - return null; - } - if( StringUtils.isEmpty( taskGroupId ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskId ), taskId ); - p = cb.and( p, cb.equal( root.get(TaskListRele_.taskGroupId ), taskGroupId ) ); - cq.select( root.get(TaskListRele_.taskListId) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskListIdsWithGroup(String taskGroupId, String person) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ){ - return null; - } - if( StringUtils.isEmpty( person ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(TaskList.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskList.class); - Predicate p = cb.equal( root.get( TaskList_.owner ), person ); - p = cb.and( p, cb.equal( root.get( TaskList_.taskGroup ), taskGroupId ) ); - cq.select( root.get(TaskList_.id) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listReleWithTaskAndListId(List taskIds, String taskListId) throws Exception { - if( ListTools.isEmpty( taskIds ) ){ - return null; - } - if( StringUtils.isEmpty( taskListId ) ){ - return null; - } - EntityManager em = this.entityManagerContainer().get(TaskListRele.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskListRele.class); - Root root = cq.from(TaskListRele.class); - Predicate p = cb.equal( root.get(TaskListRele_.taskListId ), taskListId ); - p = cb.and( p, root.get(TaskListRele_.taskId ).in( taskIds ) ); - cq.orderBy( cb.asc( root.get( TaskListRele_.order ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskTagFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskTagFactory.java deleted file mode 100644 index 170a041bfaecb6de82d05e55e15dae1f45d5370b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskTagFactory.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; -import com.x.teamwork.core.entity.TaskTagRele_; -import com.x.teamwork.core.entity.TaskTag_; -import com.x.teamwork.core.entity.tools.CriteriaBuilderTools; - - -public class TaskTagFactory extends AbstractFactory { - - public TaskTagFactory( Business business ) throws Exception { - super(business); - } - - public List listTagIdsWithTask(String taskId, String person) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskTagRele.class); - Predicate p = cb.equal( root.get( TaskTagRele_.taskId ), taskId ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTagRele_.owner ), person ) ); - cq.select( root.get(TaskTagRele_.tagId) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据标签名称,项目ID,人员标识查询该标签在用户的项目标签中的标签ID,理论上只有一条记录 - * @param tagName - * @param project - * @param distinguishedName - * @return - * @throws Exception - */ - public List listTagIdsWithTagNameAndProjectAndPerson(String tagName, String project, String personName) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskTag.class); - Predicate p = cb.equal( root.get( TaskTag_.tag ), tagName ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTag_.owner ), personName ) ); - if( StringUtils.isNotEmpty( project )) { - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTag_.project ), project ) ); - } - cq.select( root.get(TaskTag_.id) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据标签ID、任务ID和人员名称查询标签与任务的关联信息 - * @param tagId - * @param taskId - * @param personName - * @return - * @throws Exception - */ - public List listTagReleIdsWithTagIdAndTaskAndPerson(String tagId, String taskId, String personName) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskTagRele.class); - Predicate p = cb.equal( root.get( TaskTagRele_.taskId ), taskId ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTagRele_.tagId ), tagId ) ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTagRele_.owner ), personName ) ); - cq.select( root.get(TaskTagRele_.id) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listWithProjectAndPerson( String project, String person ) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTag.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskTag.class); - Root root = cq.from(TaskTag.class); - Predicate p = cb.equal( root.get( TaskTag_.project ), project ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTag_.owner ), person ) ); - cq.orderBy( cb.asc( root.get( TaskTag_.createTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listReleWithProjectAndPerson( String projectId, String person ) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskTagRele.class); - Root root = cq.from(TaskTagRele.class); - Predicate p = cb.equal( root.get( TaskTagRele_.project ), projectId ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTagRele_.owner ), person ) ); - cq.orderBy( cb.asc( root.get( TaskTagRele_.createTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listReleWithTaskAndPerson( String taskId, String person ) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskTagRele.class); - Root root = cq.from(TaskTagRele.class); - Predicate p = cb.equal( root.get( TaskTagRele_.taskId ), taskId ); - p = CriteriaBuilderTools.predicate_and( cb, p, cb.equal( root.get( TaskTagRele_.owner ), person ) ); - cq.orderBy( cb.asc( root.get( TaskTagRele_.createTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public List listTaskIdsWithReleTagIds(List tagIds) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskTagRele.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from(TaskTagRele.class); - Predicate p = root.get( TaskTagRele_.tagId ).in( tagIds ); - cq.select( root.get(TaskTagRele_.taskId) ); - return em.createQuery(cq.where(p)).getResultList(); - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskViewFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskViewFactory.java deleted file mode 100644 index f7cc7780545151cb7323b891efc05d87c0134424..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/factory/TaskViewFactory.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.x.teamwork.assemble.control.factory; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Order; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.exception.ExceptionWhen; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.AbstractFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.TaskView_; -import com.x.teamwork.core.entity.tools.CriteriaBuilderTools; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - - -public class TaskViewFactory extends AbstractFactory { - - public TaskViewFactory( Business business ) throws Exception { - super(business); - } - - /** - * 获取指定Id的TaskView实体信息对象 - * @param id - * @return - * @throws Exception - */ - public TaskView get( String id ) throws Exception { - return this.entityManagerContainer().find( id, TaskView.class, ExceptionWhen.none ); - } - - /** - * 列示指定Id的TaskView实体信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ids == null || ids.size() == 0 ){ - return new ArrayList(); - } - EntityManager em = this.entityManagerContainer().get(TaskView.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskView.class); - Root root = cq.from(TaskView.class); - Predicate p = root.get(TaskView_.id).in(ids); - cq.orderBy( cb.desc( root.get( TaskView_.updateTime ) ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - /** - * 根据用户和项目ID查询工作任务列表 - * @param person - * @param projectId - * @return - * @throws Exception - */ - public List listWithPersonAndProject( String person, String projectId ) throws Exception { - if( StringUtils.isEmpty( person ) ){ - throw new Exception("person can not be empty!"); - } - if( StringUtils.isEmpty( projectId ) ){ - throw new Exception("projectId can not be empty!"); - } - EntityManager em = this.entityManagerContainer().get(TaskView.class); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskView.class); - Root root = cq.from(TaskView.class); - Predicate p = cb.equal( root.get(TaskView_.owner ), person ); - p = cb.and( p, cb.equal( root.get(TaskView_.project), projectId ) ); - return em.createQuery(cq.where(p)).getResultList(); - } - - public Long countWithFilter( QueryFilter queryFilter) throws Exception { - if( queryFilter == null ) { - return 0L; - } - EntityManager em = this.entityManagerContainer().get( TaskView.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(Long.class); - Root root = cq.from(TaskView.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( TaskView_.class, cb, null, root, queryFilter ); - cq.select(cb.count(root)).where(p); - return em.createQuery(cq).getSingleResult(); - } - - public List listWithFilter( Integer maxCount, String orderField, String orderType, QueryFilter queryFilter) throws Exception { - EntityManager em = this.entityManagerContainer().get( TaskView.class ); - CriteriaBuilder cb = em.getCriteriaBuilder(); - CriteriaQuery cq = cb.createQuery(TaskView.class); - Root root = cq.from(TaskView.class); - Predicate p = CriteriaBuilderTools.composePredicateWithQueryFilter( TaskView_.class, cb, null, root, queryFilter ); - - //排序,添加排序列,默认使用sequence - List orders = new ArrayList<>(); - Order orderWithField = CriteriaBuilderTools.getOrder( cb, root, TaskView_.class, orderField, orderType ); - if( orderWithField != null ){ - orders.add( orderWithField ); - } - - if( !TaskView.sequence_FIELDNAME.equalsIgnoreCase( orderField )) { - //如果是其他的列,很可能排序值不唯一,所以使用多一列排序列来确定每次查询的顺序 - orderWithField = CriteriaBuilderTools.getOrder( cb, root, TaskView_.class, TaskView.id_FIELDNAME, orderType ); - if( orderWithField != null ){ - orders.add( orderWithField ); - } - } - if( ListTools.isNotEmpty( orders )){ - cq.orderBy( orders ); - } - return em.createQuery(cq.where(p)).setMaxResults( maxCount).getResultList(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/JaxrsCipherManagerFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/JaxrsCipherManagerFilter.java deleted file mode 100644 index a121dfc8092a0a9998efbf32484d1ed5a463a5f4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/JaxrsCipherManagerFilter.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs; - -import javax.servlet.annotation.WebFilter; - -import com.x.base.core.project.jaxrs.CipherManagerJaxrsFilter; - -@WebFilter(urlPatterns = { - "/jaxrs/cipher/*", - "/jaxrs/manager/*" - }, asyncSupported = true) -public class JaxrsCipherManagerFilter extends CipherManagerJaxrsFilter { -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDelete.java deleted file mode 100644 index 3c12ec87fb088a6d41f6974714e4c1fcedda2c00..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDelete.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.config.StorageMapping; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Dynamic; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionDelete.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Attachment attachment = null; - StorageMapping mapping = null; - Dynamic dynamic = null; - Wo wo = new Wo(); - Boolean check = true; - - if( StringUtils.isEmpty( id ) ){ - check = false; - Exception exception = new ExceptionAttachmentIdEmpty(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try{ - attachment = attachmentQueryService.get( id ); - if (null == attachment) { - check = false; - Exception exception = new ExceptionAttachmentNotExists( id ); - result.error( exception ); - } - }catch(Exception e){ - check = false; - Exception exception = new ExceptionAttachmentQueryById( e, id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - mapping = ThisApplication.context().storageMappings().get(Attachment.class, attachment.getStorage()); - - attachment = emc.find( id, Attachment.class ); - emc.beginTransaction( Attachment.class ); - emc.remove( attachment, CheckRemoveType.all ); - attachment.deleteContent( mapping ); - emc.commit(); - - - - - }catch(Exception e){ - check = false; - Exception exception = new ExceptionAttachmentDelete( e, attachment.getId() ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamic = dynamicPersistService.deleteAttachment( attachment, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - wo.setId( id ); - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownload.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownload.java deleted file mode 100644 index 2558f3d773be66e4c684a54c34ef359f5f2507b6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownload.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.config.StorageMapping; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoFile; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Dynamic; - -public class ActionDownload extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionDownload.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Attachment attachment = null; - Boolean check = true; - Wo wo = null; - try { - attachment = attachmentQueryService.get( id ); - if( attachment == null ){ - check = false; - Exception exception = new ExceptionAttachmentNotExists( id ); - result.error( exception ); - } - } catch ( Exception e ) { - check = false; - Exception exception = new ExceptionAttachmentQueryById( e, id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - StorageMapping mapping = ThisApplication.context().storageMappings().get(Attachment.class, attachment.getStorage()); - wo = new Wo(attachment.readContent(mapping), - this.contentType(false, attachment.getName()), - this.contentDisposition(false, attachment.getName())); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.downloadAttachmentDynamic(attachment, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData(wo); - return result; - } - - public static class Wo extends WoFile { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - public Wo(byte[] bytes, String contentType, String contentDisposition) { - super(bytes, contentType, contentDisposition); - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownloadStream.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownloadStream.java deleted file mode 100644 index 178d0264f1adfaf6a4281dde7c364f2b0ecd4814..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionDownloadStream.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.config.StorageMapping; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoFile; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Dynamic; - -public class ActionDownloadStream extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionDownloadStream.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id, Boolean stream ) throws Exception { - ActionResult result = new ActionResult<>(); - Attachment attachment = null; - Boolean check = true; - Wo wo = null; - try { - attachment = attachmentQueryService.get( id ); - if( attachment == null ){ - check = false; - Exception exception = new ExceptionAttachmentNotExists( id ); - result.error( exception ); - } - } catch ( Exception e ) { - check = false; - Exception exception = new ExceptionAttachmentQueryById( e, id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - StorageMapping mapping = ThisApplication.context().storageMappings().get(Attachment.class, attachment.getStorage()); - wo = new Wo(attachment.readContent(mapping), - this.contentType(stream, attachment.getName()), - this.contentDisposition(stream, attachment.getName())); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.downloadAttachmentDynamic(attachment, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData(wo); - return result; - } - - public static class Wo extends WoFile { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - public Wo(byte[] bytes, String contentType, String contentDisposition) { - super(bytes, contentType, contentDisposition); - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionGet.java deleted file mode 100644 index f95e83455ff6b94234648dfc3c3f23e1a4675fb2..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionGet.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Attachment; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionGet.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wrap = null; - Attachment attachment = null; - if( StringUtils.isEmpty( id )){ - Exception exception = new ExceptionAttachmentIdEmpty(); - result.error( exception ); - }else{ - try { - attachment = attachmentQueryService.get( id ); - if( attachment != null ){ - wrap = Wo.copier.copy( attachment ); - result.setData(wrap); - }else{ - Exception exception = new ExceptionAttachmentNotExists( id ); - result.error( exception ); - } - } catch ( Exception e ) { - Exception exception = new ExceptionAttachmentQueryById( e, id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends Attachment{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Attachment.class, Wo.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithProject.java deleted file mode 100644 index ca6825107c3e274cdd7c9e80423821ea1526751f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithProject.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Project; - -public class ActionListWithProject extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionListWithProject.class ); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult> result = new ActionResult>(); - List wrapOutAttachmentList = null; - List attachments = null; - Project project = null; - if( StringUtils.isEmpty( id )){ - Exception exception = new ExceptionProjectIdEmpty(); - result.error( exception ); - }else{ - try { - project = projectQueryService.get( id ); - if( project != null ){ - attachments = attachmentQueryService.listAttachmentWithProject(id ); - if( ListTools.isNotEmpty( attachments)) { - wrapOutAttachmentList = Wo.copier.copy( attachments ); - } - } - } catch (Exception e) { - Exception exception = new ExceptionQueryProjectById( e, id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - if( wrapOutAttachmentList == null ){ - wrapOutAttachmentList = new ArrayList(); - } - result.setData( wrapOutAttachmentList ); - } - return result; - } - - public static class Wo extends Attachment{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Attachment.class, Wo.class, null,JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithTask.java deleted file mode 100644 index f957c64e9cf4c0d23812f453af33b00ffd196963..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionListWithTask.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Task; - -public class ActionListWithTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionListWithTask.class ); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String taskId ) throws Exception { - ActionResult> result = new ActionResult>(); - List wrapOutAttachmentList = null; - List attachments = null; - Task task = null; - if( StringUtils.isEmpty( taskId )){ - Exception exception = new ExceptionProjectIdEmpty(); - result.error( exception ); - }else{ - try { - task = taskQueryService.get( taskId ); - if( task != null ){ - attachments = attachmentQueryService.listAttachmentWithTask(taskId); - if( ListTools.isNotEmpty( attachments)) { - wrapOutAttachmentList = Wo.copier.copy( attachments ); - } - } - } catch (Exception e) { - Exception exception = new ExceptionQueryProjectById( e, taskId ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - if( wrapOutAttachmentList == null ){ - wrapOutAttachmentList = new ArrayList(); - } - result.setData( wrapOutAttachmentList ); - } - return result; - } - - public static class Wo extends Attachment{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Attachment.class, Wo.class, null,JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionProjectAttachmentUpload.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionProjectAttachmentUpload.java deleted file mode 100644 index 5bd441c0b995a4eff57fce81cfe68722e30fd8da..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionProjectAttachmentUpload.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.config.StorageMapping; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.DefaultCharset; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; - -public class ActionProjectAttachmentUpload extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionProjectAttachmentUpload.class); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, - String projectId, String site, byte[] bytes, FormDataContentDisposition disposition) { - ActionResult result = new ActionResult<>(); - Attachment attachment = null; - Project project = null; - StorageMapping mapping = null; - String fileName = null; - Boolean check = true; - Wo wo = new Wo(); - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( projectId ) ){ - check = false; - Exception exception = new ExceptionProjectIdEmpty( ); - result.error( exception ); - } - } - - if( Boolean.TRUE.equals( check ) ){//判断工作信息是否已经存在 - try { - project = projectQueryService.get( projectId ); - if (null == project) { - check = false; - Exception exception = new ExceptionProjectNotExists( projectId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - result.error( e ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - fileName = FilenameUtils.getName(new String(disposition.getFileName().getBytes(DefaultCharset.name_iso_8859_1), DefaultCharset.name)); - /** 禁止不带扩展名的文件上传 */ - if (StringUtils.isEmpty(fileName)) { - check = false; - Exception exception = new ExceptionEmptyExtension( fileName ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - result.error( e ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - mapping = ThisApplication.context().storageMappings().random( Attachment.class ); - } catch (Exception e) { - check = false; - result.error( e ); - logger.warn( "系统在获取存储的时候发生异常!" ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - attachment = this.concreteAttachment( mapping, project, fileName, effectivePerson, site ); - attachment.saveContent(mapping, bytes, fileName); - attachment = attachmentPersistService.saveAttachment( project, attachment ); - - - wo.setId( attachment.getId() ); - - } catch (Exception e) { - check = false; - result.error( e ); - logger.warn( "系统在保存附件和更新附件数据时候发生异常!" ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.uploadAttachmentDynamic(attachment, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData(wo); - return result; - } - - private Attachment concreteAttachment(StorageMapping mapping, Project project, String name, EffectivePerson effectivePerson, String site) throws Exception { - Attachment attachment = new Attachment(); - String fileName = UUID.randomUUID().toString(); - String extension = FilenameUtils.getExtension( name ); - if ( StringUtils.isNotEmpty(extension)) { - fileName = fileName + "." + extension; - }else{ - throw new Exception("file extension is empty."); - } - if( name.indexOf( "\\" ) >0 ){ - name = StringUtils.substringAfterLast( name, "\\"); - } - if( name.indexOf( "/" ) >0 ){ - name = StringUtils.substringAfterLast( name, "/"); - } - attachment.setCreateTime( new Date() ); - attachment.setLastUpdateTime( new Date() ); - attachment.setExtension( extension ); - attachment.setName( name ); - attachment.setFileName( fileName ); - attachment.setStorage( mapping.getName() ); - attachment.setProjectId( project.getId() ); - attachment.setBundleObjType("PROJECT") ; - attachment.setCreatorUid( effectivePerson.getDistinguishedName() ); - attachment.setSite( site ); - attachment.setFileHost( "" ); - attachment.setFilePath( "" ); - return attachment; - } - - public static class Wo extends WoId { - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionTaskAttachmentUpload.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionTaskAttachmentUpload.java deleted file mode 100644 index 882977e2d5b757fab26a51019db6d6fce14380d0..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ActionTaskAttachmentUpload.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.config.StorageMapping; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.DefaultCharset; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; - -public class ActionTaskAttachmentUpload extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionTaskAttachmentUpload.class); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, - String taskId, String site, byte[] bytes, FormDataContentDisposition disposition) { - ActionResult result = new ActionResult<>(); - Attachment attachment = null; - Task task = null; - StorageMapping mapping = null; - String fileName = null; - Boolean check = true; - Wo wo = new Wo(); - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( taskId ) ){ - check = false; - Exception exception = new ExceptionTaskIdEmpty( ); - result.error( exception ); - } - } - - if( Boolean.TRUE.equals( check ) ){//判断工作信息是否已经存在 - try { - task = taskQueryService.get( taskId ); - if (null == task) { - check = false; - Exception exception = new ExceptionTaskNotExists( taskId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - result.error( e ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - fileName = FilenameUtils.getName(new String(disposition.getFileName().getBytes(DefaultCharset.name_iso_8859_1), DefaultCharset.name)); - /** 禁止不带扩展名的文件上传 */ - if (StringUtils.isEmpty(fileName)) { - check = false; - Exception exception = new ExceptionEmptyExtension( fileName ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - result.error( e ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - mapping = ThisApplication.context().storageMappings().random( Attachment.class ); - } catch (Exception e) { - check = false; - result.error( e ); - logger.warn( "系统在获取存储的时候发生异常!" ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - attachment = this.concreteAttachment( mapping, task, fileName, effectivePerson, site ); - attachment.saveContent(mapping, bytes, fileName); - attachment = attachmentPersistService.saveAttachment( task, attachment ); - wo.setId( attachment.getId() ); - } catch (Exception e) { - check = false; - result.error( e ); - logger.warn( "系统在保存附件和更新附件数据时候发生异常!" ); - logger.error( e, effectivePerson, request, null ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.uploadAttachmentDynamic(attachment, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData(wo); - return result; - } - - private Attachment concreteAttachment(StorageMapping mapping, Task task, String name, EffectivePerson effectivePerson, String site) throws Exception { - Attachment attachment = new Attachment(); - String fileName = UUID.randomUUID().toString(); - String extension = FilenameUtils.getExtension( name ); - if ( StringUtils.isNotEmpty(extension)) { - fileName = fileName + "." + extension; - }else{ - throw new Exception("file extension is empty."); - } - if( name.indexOf( "\\" ) >0 ){ - name = StringUtils.substringAfterLast( name, "\\"); - } - if( name.indexOf( "/" ) >0 ){ - name = StringUtils.substringAfterLast( name, "/"); - } - attachment.setCreateTime( new Date() ); - attachment.setLastUpdateTime( new Date() ); - attachment.setExtension( extension ); - attachment.setName( name ); - attachment.setFileName( fileName ); - attachment.setStorage( mapping.getName() ); - attachment.setProjectId( task.getProject() ); - attachment.setTaskId( task.getId() ); - attachment.setBundleObjType("TASK") ; - attachment.setCreatorUid( effectivePerson.getDistinguishedName() ); - attachment.setSite( site ); - attachment.setFileHost( "" ); - attachment.setFilePath( "" ); - return attachment; - } - - public static class Wo extends WoId { - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentAction.java deleted file mode 100644 index d1e7637b9c6e59683697b24d386fc25732f07da8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentAction.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataParam; - -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path( "attachment" ) -@JaxrsDescribe("工作任务附件信息管理服务") -public class AttachmentAction extends StandardJaxrsAction{ - - private static Logger logger = LoggerFactory.getLogger( AttachmentAction.class ); - - @JaxrsMethodDescribe(value = "根据项目ID获取工作附件信息列表", action = ActionListWithProject.class) - @GET - @Path( "list/project/{id}" ) - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listByProjectId( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam( "id" ) String id) { - EffectivePerson effectivePerson = this.effectivePerson( request ); - ActionResult> result = new ActionResult<>(); - try { - result = new ActionListWithProject().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - logger.warn( "系统根据项目ID获取项目所有附件信息过程发生异常。" ); - logger.error( e, effectivePerson, request, null); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据工作ID获取工作附件信息列表", action = ActionListWithTask.class) - @GET - @Path( "list/task/{id}" ) - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listByTaskId( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作ID") @PathParam( "id" ) String id) { - EffectivePerson effectivePerson = this.effectivePerson( request ); - ActionResult> result = new ActionResult<>(); - try { - result = new ActionListWithTask().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - logger.warn( "系统根据工作ID获取工作所有附件信息过程发生异常。" ); - logger.error( e, effectivePerson, request, null); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID删除附件信息对象", action = ActionDelete.class) - @DELETE - @Path( "{id}" ) - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("附件ID") @PathParam( "id" ) String id) { - EffectivePerson effectivePerson = this.effectivePerson( request ); - ActionResult result = new ActionResult<>(); - try { - result = new ActionDelete().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - logger.warn( "系统根据ID删除附件信息对象过程发生异常。" ); - logger.error( e, effectivePerson, request, null); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID获取附件信息对象", action = ActionGet.class) - @GET - @Path( "{id}" ) - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("附件信息ID") @PathParam( "id" ) String id) { - EffectivePerson effectivePerson = this.effectivePerson( request ); - ActionResult result = new ActionResult<>(); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - logger.warn( "系统根据ID获取附件信息对象过程发生异常。" ); - logger.error( e, effectivePerson, request, null); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID下载指定附件", action = ActionDownload.class) - @GET - @Path("download/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void downLoad(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("附件信息ID") @PathParam("id") String id) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDownload().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "下载指定附件,设定是否使用stream输出", action = ActionDownloadStream.class) - @GET - @Path("download/{id}/stream/{stream}") - @Consumes(MediaType.APPLICATION_JSON) - public void downloadStream(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("附件信息ID") @PathParam("id") String id, - @JaxrsParameterDescribe("用.APPLICATION_OCTET_STREAM头输出") @PathParam("stream") Boolean stream) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDownloadStream().execute(request, effectivePerson, id, stream); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "上传项目信息附件.", action = ActionProjectAttachmentUpload.class) - @POST - @Path("upload/project/{id}/site/{site}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.MULTIPART_FORM_DATA) - public void projectAttachmentUpload(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目信息ID") @PathParam("id") String id, - @JaxrsParameterDescribe("位置") @PathParam("site") String site, - @FormDataParam(FILE_FIELD) final byte[] bytes, - @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionProjectAttachmentUpload().execute(request, effectivePerson, id, site, bytes, disposition); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "为工作信息上传附件.", action = ActionTaskAttachmentUpload.class) - @POST - @Path("upload/task/{id}/site/{site}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.MULTIPART_FORM_DATA) - public void taskAttachmentUpload(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务ID") @PathParam("id") String id, - @JaxrsParameterDescribe("位置") @PathParam("site") String site, - @FormDataParam(FILE_FIELD) final byte[] bytes, - @FormDataParam(FILE_FIELD) final FormDataContentDisposition disposition) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionTaskAttachmentUpload().execute(request, effectivePerson, id, site, bytes, disposition); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentNotExistsException.java deleted file mode 100644 index d19949527eb950c03c225c4aef70c208c59d91c7..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class AttachmentNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public AttachmentNotExistsException( String id ) { - super("指定ID的附件信息记录不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentQueryByIdException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentQueryByIdException.java deleted file mode 100644 index 66591fab142e7dedc863f36ab578247528f755f4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/AttachmentQueryByIdException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class AttachmentQueryByIdException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public AttachmentQueryByIdException( Throwable e, String id ) { - super("查询指定ID的附件信息时发生异常。ID:" + id, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/BaseAction.java deleted file mode 100644 index fa80aeda7e8796cb3090740d895611a4f46477c0..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/BaseAction.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.AttachmentPersistService; -import com.x.teamwork.assemble.control.service.AttachmentQueryService; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.TaskPersistService; -import com.x.teamwork.assemble.control.service.TaskQueryService; - -public class BaseAction extends StandardJaxrsAction { - - protected AttachmentPersistService attachmentPersistService = new AttachmentPersistService(); - - protected AttachmentQueryService attachmentQueryService = new AttachmentQueryService(); - - protected TaskQueryService taskQueryService = new TaskQueryService(); - - protected ProjectQueryService projectQueryService = new ProjectQueryService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected TaskPersistService taskPersistService = new TaskPersistService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentDelete.java deleted file mode 100644 index a3a161adb6cb5e8352bf16d1f0c190bab2d6ffc4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentDelete.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionAttachmentDelete extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionAttachmentDelete( Throwable e, String id ) { - super("系统根据id删除附件信息时发生异常。ID:" + id, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentIdEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentIdEmpty.java deleted file mode 100644 index 995d28f2f702ed958c4405dc497cb870bff40493..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentIdEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionAttachmentIdEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionAttachmentIdEmpty() { - super("id为空,无法继续进行查询操作。"); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentNotExists.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentNotExists.java deleted file mode 100644 index a02674da24d475538d5196a44dfb13681be1155d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentNotExists.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionAttachmentNotExists extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionAttachmentNotExists( String id ) { - super("指定id的附件信息不存在,无法继续进行操作。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentQueryById.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentQueryById.java deleted file mode 100644 index 931bf570d69ce3044faff8471bb6d3aaf8864dfa..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionAttachmentQueryById.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionAttachmentQueryById extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionAttachmentQueryById( Throwable e, String id ) { - super("系统根据id查询附件信息时发生异常。ID:" + id, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionEmptyExtension.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionEmptyExtension.java deleted file mode 100644 index 77d2058702097c3a0fcf9dc6d2ab92a5c58be50b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionEmptyExtension.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionEmptyExtension extends PromptException { - - private static final long serialVersionUID = 4132300948670472899L; - - public ExceptionEmptyExtension(String name) { - super("不能上传文件扩展名为空的文件: {}.", name); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectIdEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectIdEmpty.java deleted file mode 100644 index 158466fb33d5927dc4b680883239a289c2b33d97..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectIdEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionProjectIdEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionProjectIdEmpty() { - super("项目id为空,无法继续进行查询操作。"); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectNotExists.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectNotExists.java deleted file mode 100644 index 6b5b6b9441f7b53b90b9fd96e66711298b61c268..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionProjectNotExists.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionProjectNotExists extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionProjectNotExists( String id ) { - super("指定id的项目信息不存在,无法继续进行操作。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionQueryProjectById.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionQueryProjectById.java deleted file mode 100644 index a1a8cb6a3615321e10189798a14badced857cb02..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionQueryProjectById.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionQueryProjectById extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionQueryProjectById( Throwable e, String id ) { - super("系统根据id查询项目信息时发生异常。ID:" + id, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskIdEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskIdEmpty.java deleted file mode 100644 index c4364b4dd63de8d969813d8d29feb26c91a458bd..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskIdEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionTaskIdEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionTaskIdEmpty() { - super("工作任务id为空,无法继续进行查询操作。"); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskNotExists.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskNotExists.java deleted file mode 100644 index 67e8ed330833d3a53c2c1066cb856f11b6d63ed7..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/attachment/ExceptionTaskNotExists.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.attachment; - -import com.x.base.core.project.exception.PromptException; - -public class ExceptionTaskNotExists extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionTaskNotExists( String id ) { - super("指定ID的工作任务信息记录不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionDelete.java deleted file mode 100644 index 6e5bdad76fe8196f38d52108768d500fbdbad6ad..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionDelete.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.Dynamic; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id) throws Exception { - ActionResult result = new ActionResult<>(); - Chat chat = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new ChatFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - chat = chatQueryService.get( id ); - if ( chat == null) { - check = false; - Exception exception = new ChatNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException(e, "根据指定flag查询工作交流信息对象时发生异常。ID:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - chatPersistService.delete( id, effectivePerson ); - // 更新缓存 - ApplicationCache.notify( Chat.class ); - - wo.setId( chat.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException(e, "根据指定flag删除工作交流信息对象时发生异常。ID:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.chatDeleteDynamic( chat, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGet.java deleted file mode 100644 index 18a9a14378d7ffbdead6af21e2d1190adf5109ff..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGet.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Chat; - -public class ActionGet extends BaseAction { - - private Logger logger = LoggerFactory.getLogger( ActionGet.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wrap = null; - Chat chat = null; - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - if( id == null || id.isEmpty() ){ - check = false; - Exception exception = new ChatIDEmptyException(); - result.error( exception ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - chat = chatQueryService.get( id ); - if( chat == null ) { - check = false; - Exception exception = new ChatNotExistsException(id); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException( e, "系统根据ID查询指定工作评论信息时发生异常.ID:" + id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wrap = Wo.copier.copy( chat ); - result.setData( wrap ); - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException( e, "将查询结果转换为可以输出的信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends Chat { - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); - public static WrapCopier copier = WrapCopierFactory.wo( Chat.class, Wo.class, null,Wo.Excludes); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGetContent.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGetContent.java deleted file mode 100644 index 84b8a84e497bffde8ae31a963d3ff5cb74162d45..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionGetContent.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoText; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -public class ActionGetContent extends BaseAction { - - private Logger logger = LoggerFactory.getLogger( ActionGetContent.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wrap = null; - String chatContent = null; - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - if( id == null || id.isEmpty() ){ - check = false; - Exception exception = new ChatIDEmptyException(); - result.error( exception ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - chatContent = chatQueryService.getContent( id ); - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException( e, "系统根据ID查询指定工作评论信息内容时发生异常.ID:" + id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wrap = new Wo(); - wrap.setText( chatContent ); - result.setData( wrap ); - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException( e, "将查询结果转换为可以输出的信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends WoText { - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionListNextWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionListNextWithFilter.java deleted file mode 100644 index a4c475c4f77f47bd8a6ca8e5dd27f03d9eac2200..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ActionListNextWithFilter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -public class ActionListNextWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListNextWithFilter.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = new ArrayList<>(); - Wi wrapIn = null; - Boolean check = true; - QueryFilter queryFilter = null; - - if ( StringUtils.isEmpty( flag ) || "(0)".equals(flag)) { - flag = null; - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new ChatQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Long total = chatQueryService.countWithFilter( queryFilter ); - List chatList = chatQueryService.listWithFilterNext( count, flag, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( chatList )) { - wos = Wo.copier.copy(chatList); - } - result.setCount( total ); - result.setData( wos ); - } catch (Exception e) { - check = false; - logger.warn("系统查询项目信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends WrapInQueryChat{ - } - - public static class Wo extends Chat { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Chat.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/BaseAction.java deleted file mode 100644 index 51131a2e921cdecd22d0a9acf60a2c5ddad9219c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/BaseAction.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.ChatPersistService; -import com.x.teamwork.assemble.control.service.ChatQueryService; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.core.entity.Chat; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache chatCache = ApplicationCache.instance().getCache( Chat.class ); - - protected ChatQueryService chatQueryService = new ChatQueryService(); - - protected ChatPersistService chatPersistService = new ChatPersistService(); - - protected TaskQueryService taskQueryService = new TaskQueryService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatAction.java deleted file mode 100644 index 19163bd60c39f21f50e10c377d67d89c6dd56b3a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatAction.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("chat") -@JaxrsDescribe("工作评论流信息管理") -public class ChatAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(ChatAction.class); - - @JaxrsMethodDescribe( value = "根据ID获取评论信息", action = ActionGet.class ) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @JaxrsParameterDescribe("评论信息ID") @PathParam("id") String id) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - if(check){ - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ChatQueryException( e, "根据ID获取评论信息时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe( value = "根据ID获取评论信息文字内容", action = ActionGetContent.class ) - @GET - @Path("{id}/content") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void getContent( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @JaxrsParameterDescribe("评论信息ID") @PathParam("id") String id) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - if(check){ - try { - result = new ActionGetContent().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ChatQueryException( e, "根据ID获取工作评论信息内容时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示评论信息,下一页.", action = ActionListNextWithFilter.class) - @PUT - @Path("list/{id}/next/{count}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithFilter().execute(request, effectivePerson, id, count, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建一个工作交流信息.", action = ActionCreate.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void create(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作交流信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionCreate().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除工作交流信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatContentEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatContentEmptyException.java deleted file mode 100644 index 86ef48daeae2290d3c1e7086b10a8fd411ebda32..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatContentEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatContentEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatContentEmptyException() { - super("工作交流内容为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatFlagForQueryEmptyException.java deleted file mode 100644 index 43258d5fb31b6cc2c71f71ce137b6d0c086f7f8a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatFlagForQueryEmptyException() { - super("查询的工作交流信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatIDEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatIDEmptyException.java deleted file mode 100644 index 5745f730634a06a02c178000812b68d1c4695bcc..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatIDEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatIDEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatIDEmptyException() { - super("工作评论信息ID为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatNotExistsException.java deleted file mode 100644 index 097982e05a1e047e82a8fff158f75f1afbd2f76a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatNotExistsException( String id ) { - super("指定ID的工作交流信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatPersistException.java deleted file mode 100644 index d1345f8bf053fe32c2eb75ac7931326f0b8b59e7..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatPersistException( Throwable e ) { - super("系统在保存工作交流信息时发生异常。" , e ); - } - - ChatPersistException( Throwable e, String message ) { - super("系统在保存工作交流信息时发生异常。Message:" + message, e ); - } - - ChatPersistException( String message ) { - super("系统在保存工作交流信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatQueryException.java deleted file mode 100644 index bace5e942d16106a37dc7131e209f0d6ab331c51..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/ChatQueryException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class ChatQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ChatQueryException( Throwable e ) { - super("系统在查询工作交流信息时发生异常。" , e ); - } - - ChatQueryException( Throwable e, String message ) { - super("系统在查询工作交流信息时发生异常。Message:" + message, e ); - } - - ChatQueryException( String message ) { - super("系统在查询工作交流信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskIDEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskIDEmptyException.java deleted file mode 100644 index f69e36585f6dc10e46c6b1a612d33e11a61da8b0..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskIDEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class TaskIDEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskIDEmptyException() { - super("工作任务信息ID为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskNotExistsException.java deleted file mode 100644 index 20f91a222639e232d3b6581c9ea91aed71843c96..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/TaskNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import com.x.base.core.project.exception.PromptException; - -class TaskNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskNotExistsException( String id ) { - super("指定ID的工作任务信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/WrapInQueryChat.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/WrapInQueryChat.java deleted file mode 100644 index 4b16f3f054de05184e48407cd55057106afaf0b8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/chat/WrapInQueryChat.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.chat; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -public class WrapInQueryChat { - - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("所属工作ID,非必填,过滤条件") - private String taskId = null; - - @FieldDescribe("工作标题,非必填,过滤条件") - private String taskTitle = null; - - @FieldDescribe("发送者,非必填,过滤条件") - private String sender = null; - - @FieldDescribe("目标者,非必填,过滤条件") - private String target = null; - - private Long rank = 0L; - - public String getOrderField() { - return orderField; - } - - public void setOrderField(String orderField) { - this.orderField = orderField; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - -// public String getProjectId() { -// return projectId; -// } -// -// public void setProjectId(String projectId) { -// this.projectId = projectId; -// } -// -// public String getProjectTitle() { -// return projectTitle; -// } -// -// public void setProjectTitle(String projectTitle) { -// this.projectTitle = projectTitle; -// } - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public String getTaskTitle() { - return taskTitle; - } - - public void setTaskTitle(String taskTitle) { - this.taskTitle = taskTitle; - } - - public String getSender() { - return sender; - } - - public void setSender(String sender) { - this.sender = sender; - } - - public String getTarget() { - return target; - } - - public void setTarget(String target) { - this.target = target; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 -// if( StringUtils.isNotEmpty( this.getProjectTitle() )) { -// queryFilter.addLikeTerm( new LikeTerm( "projectTitle", this.getProjectTitle() ) ); -// } - if( StringUtils.isNotEmpty( this.getTaskTitle() )) { - queryFilter.addLikeTerm( new LikeTerm( "taskTitle", this.getTaskTitle() ) ); - } -// if( StringUtils.isNotEmpty( this.getProjectId() )) { -// queryFilter.addEqualsTerm( new EqualsTerm( "projectId", this.getProjectId() ) ); -// } - if( StringUtils.isNotEmpty( this.getTaskId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "taskId", this.getTaskId() ) ); - } - if( StringUtils.isNotEmpty( this.getSender())) { - queryFilter.addEqualsTerm( new EqualsTerm( "sender", this.getSender() ) ); - } - if( StringUtils.isNotEmpty( this.getTarget() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "target", this.getTarget() ) ); - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGet.java deleted file mode 100644 index 9a516c0db7c9f69dccb3efa37b6613a0749e9d76..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGet.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.SystemConfig; - -public class ActionGet extends BaseAction { - - private Logger logger = LoggerFactory.getLogger( ActionGet.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wrap = null; - SystemConfig systemConfig = null; - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - if( id == null || id.isEmpty() ){ - check = false; - Exception exception = new ExceptionConfigIdEmpty(); - result.error( exception ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - systemConfig = systemConfigQueryService.get( id ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "系统根据ID查询指定考勤系统配置信息时发生异常.ID:" + id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - if( systemConfig == null ) { - try { - systemConfig = systemConfigQueryService.getByCode( id ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "系统根据ID查询指定考勤系统配置信息时发生异常.CODE:" + id ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wrap = Wo.copier.copy( systemConfig ); - result.setData( wrap ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "将所有查询到的考勤配置信息对象转换为可以输出的信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends SystemConfig { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - public static WrapCopier copier = WrapCopierFactory.wo( SystemConfig.class, Wo.class, null,Wo.Excludes); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGetWithCode.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGetWithCode.java deleted file mode 100644 index 95d5849a8cee6b72bde65d4d938c216ad3d97686..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionGetWithCode.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.SystemConfig; - -public class ActionGetWithCode extends BaseAction { - - private Logger logger = LoggerFactory.getLogger( ActionGetWithCode.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String code ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wrap = null; - SystemConfig systemConfig = null; - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - if( code == null || code.isEmpty() ){ - check = false; - Exception exception = new ExceptionConfigCodeEmpty(); - result.error( exception ); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - systemConfig = systemConfigQueryService.getByCode( code ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "系统根据指定的编码'CODE'查询所有符合条件的考勤系统设置信息列表时发生异常.Code:" + code ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - wrap = Wo.copier.copy( systemConfig ); - result.setData( wrap ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "将所有查询到的考勤配置信息对象转换为可以输出的信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends SystemConfig { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - public static WrapCopier copier = WrapCopierFactory.wo( SystemConfig.class, Wo.class, null,Wo.Excludes); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionIsManager.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionIsManager.java deleted file mode 100644 index 75847ab4ca740e5f0cc4ee1c28fe50f925d026ca..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionIsManager.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.WrapOutBoolean; -import com.x.teamwork.core.entity.SystemConfig; - -public class ActionIsManager extends BaseAction { - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson ) throws Exception { - ActionResult result = new ActionResult<>(); - WrapOutBoolean wo = new WrapOutBoolean(); - Boolean hasRole = false; - - if(effectivePerson.isManager()) { - hasRole = true; - }else { - try { - hasRole = userManagerService.isHasPlatformRole(effectivePerson.getDistinguishedName(), "TeamWorkManager"); - }catch( Exception e) { - e.printStackTrace(); - } - } - - wo.setValue( hasRole ); - result.setData(wo); - return result; - } - - public static class Wo extends SystemConfig { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - public static WrapCopier copier = WrapCopierFactory.wo( SystemConfig.class, Wo.class, null,Wo.Excludes); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionListAll.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionListAll.java deleted file mode 100644 index 2239fc9f74559fb449e0ca0ddde3efae4eb06775..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionListAll.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.SystemConfig; - -public class ActionListAll extends BaseAction { - - private Logger logger = LoggerFactory.getLogger( ActionListAll.class ); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wraps = null; - List systemConfigList = null; - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - try { - systemConfigList = systemConfigQueryService.listAll(); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "系统查询所有考勤系统设置信息列表时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - wraps = Wo.copier.copy( systemConfigList ); - result.setData(wraps); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "将所有查询到的考勤配置信息对象转换为可以输出的信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends SystemConfig { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - public static WrapCopier copier = WrapCopierFactory.wo( SystemConfig.class, Wo.class, null,Wo.Excludes); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionSave.java deleted file mode 100644 index 43eb69fcba009e8541da624f342a83da5813723b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ActionSave.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.SystemConfig; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionSave.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Wi wrapIn = null; - SystemConfig systemConfig = new SystemConfig(); - Boolean check = true; - - try { - wrapIn = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e ) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "Json格式错误:"+jsonElement.toString() ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - if( Boolean.TRUE.equals( check ) ){ - if( wrapIn.getConfigCode() == null || wrapIn.getConfigCode().isEmpty() ){ - check = false; - Exception exception = new ExceptionConfigCodeEmpty(); - result.error( exception ); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( wrapIn.getConfigName() == null || wrapIn.getConfigName().isEmpty() ){ - check = false; - Exception exception = new ExceptionConfigNameEmpty(); - result.error( exception ); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - systemConfig = Wi.copier.copy( wrapIn ); - if( wrapIn.getId() != null && !wrapIn.getId().isEmpty() ){ - systemConfig.setId( wrapIn.getId() ); - } - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "系统将用户传入的数据转换为考勤系统配置对象时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - systemConfig = systemConfigPersistService.save( systemConfig ); - result.setData( new Wo( systemConfig.getId() ) ); - } catch (Exception e) { - check = false; - Exception exception = new ExceptionConfigInfoProcess( e, "保存考勤系统配置信息时发生异常." ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends SystemConfig { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(JpaObject.FieldsUnmodify); - - public static WrapCopier< Wi, SystemConfig > copier = WrapCopierFactory.wi( Wi.class, SystemConfig.class, null, Wi.Excludes ); - - private String identity = null; - - public String getIdentity() { - return identity; - } - - public void setIdentity(String identity) { - this.identity = identity; - } - } - - public static class Wo extends WoId { - public Wo( String id ) { - setId( id ); - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/BaseAction.java deleted file mode 100644 index 9dfaad31b491c447f9a169d7ebfb993ea131e0d3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/BaseAction.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.SystemConfigPersistService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.assemble.control.service.UserManagerService; -import com.x.teamwork.core.entity.Project; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction{ - - protected Ehcache configCache = ApplicationCache.instance().getCache( Project.class ); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - - protected SystemConfigPersistService systemConfigPersistService = new SystemConfigPersistService(); - - protected UserManagerService userManagerService = new UserManagerService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigCodeEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigCodeEmpty.java deleted file mode 100644 index 8bb269196eac021e32f01f112c9a18e72bd99032..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigCodeEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.exception.PromptException; - -class ExceptionConfigCodeEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionConfigCodeEmpty() { - super("查询操作传入的设置编码Code为空,无法进行查询或者保存操作."); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigIdEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigIdEmpty.java deleted file mode 100644 index 883b04238bfb5993a75042a65bfdae90d43c013f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigIdEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.exception.PromptException; - -class ExceptionConfigIdEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionConfigIdEmpty() { - super("查询操作传入的参数Id为空,无法进行查询操作."); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigInfoProcess.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigInfoProcess.java deleted file mode 100644 index 8fbd147fca0a5df8c69e5e2521247c2403949356..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigInfoProcess.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.exception.PromptException; - -class ExceptionConfigInfoProcess extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionConfigInfoProcess( Throwable e, String message ) { - super("用户在进行设置信息处理时发生异常!message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNameEmpty.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNameEmpty.java deleted file mode 100644 index 45a7d9c4979c858183a3383386ec8c77d2f2448b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNameEmpty.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.exception.PromptException; - -class ExceptionConfigNameEmpty extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionConfigNameEmpty() { - super("查询操作传入的设置名称Name为空,无法进行查询或者保存操作."); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNotExists.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNotExists.java deleted file mode 100644 index 12a550aca7927eaac7cbe0ebf94971ea5a80d828..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/ExceptionConfigNotExists.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import com.x.base.core.project.exception.PromptException; - -class ExceptionConfigNotExists extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - public ExceptionConfigNotExists( String id ) { - super("指定的设置信息不存在.ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/SystemConfigAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/SystemConfigAction.java deleted file mode 100644 index a55fa53265bae821008dfe41b1ac172b8142e110..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/config/SystemConfigAction.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.config; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.http.WrapOutBoolean; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - - -@Path("config") -@JaxrsDescribe("系统设置信息管理服务") -public class SystemConfigAction extends StandardJaxrsAction{ - - private static Logger logger = LoggerFactory.getLogger( SystemConfigAction.class ); - - @JaxrsMethodDescribe( value = "获取所有系统配置信息列表", action = ActionListAll.class ) - @GET - @Path("list/all") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listAllSystemConfig( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - - if(check){ - try { - result = new ActionListAll().execute( request, effectivePerson ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ExceptionConfigInfoProcess( e, "获取所有系统配置信息列表时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe( value = "根据ID获取系统配置信息", action = ActionGet.class ) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @JaxrsParameterDescribe("系统配置信息ID") @PathParam("id") String id) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - - if(check){ - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ExceptionConfigInfoProcess( e, "根据ID获取系统配置信息时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe( value = "根据Code获取系统配置信息", action = ActionGetWithCode.class ) - @GET - @Path("code/{code}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void getWithCode( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @JaxrsParameterDescribe("系统配置信息编码") @PathParam("code") String code) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - - if(check){ - try { - result = new ActionGetWithCode().execute( request, effectivePerson, code ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ExceptionConfigInfoProcess( e, "根据Code获取系统配置信息时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe( value = "判断当前用户是否有管理员权限", action = ActionIsManager.class ) - @GET - @Path("ismanager") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void isManager( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - - if(check){ - try { - result = new ActionIsManager().execute( request, effectivePerson ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ExceptionConfigInfoProcess( e, "判断当前用户是否有管理员权限时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe( value = "新建或者更新系统配置信息", action = ActionSave.class ) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, @JaxrsParameterDescribe("配置信息") JsonElement jsonElement) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - Boolean check = true; - - if(check){ - try { - result = new ActionSave().execute( request, effectivePerson, jsonElement ); - } catch (Exception e) { - result = new ActionResult<>(); - Exception exception = new ExceptionConfigInfoProcess( e, "新建或者更新系统配置信息时发生异常!" ); - result.error( exception ); - logger.error( e, effectivePerson, request, null); - } - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithFilter.java deleted file mode 100644 index d837f27d39d01f746fdd90fe28e6d6e5611560e6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithFilter.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -public class ActionListNextWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListNextWithFilter.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = new ArrayList<>(); - Wi wrapIn = null; - Boolean check = true; - QueryFilter queryFilter = null; - - if ( StringUtils.isEmpty( flag ) || "(0)".equals(flag)) { - flag = null; - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new DynamicQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - List dynamicList = null; - long total = dynamicQueryService.countWithFilter( queryFilter ); - - if( total > 0 ) { - dynamicList = dynamicQueryService.listWithFilter( effectivePerson, count, flag, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter ); - }else { - total = 0; - } - - if( ListTools.isNotEmpty( dynamicList )) { - wos = Wo.copier.copy(dynamicList); - }else { - wos = new ArrayList<>(); - } - resultObject = new ResultObject( total, wos ); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统根据条件查询工作动态信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends WrapInTaskTag { - } - - public static class Wo extends Dynamic { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithProject.java deleted file mode 100644 index 930606e61c0436f2f5791037aa0dc35354bd2a23..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithProject.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; - -public class ActionListNextWithProject extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListNextWithProject.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, String projectId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = new ArrayList<>(); - Wi wrapIn = null; - Boolean check = true; - QueryFilter queryFilter = null; - - if ( StringUtils.isEmpty( flag ) || "(0)".equals(flag)) { - flag = null; - } - - if ( StringUtils.isEmpty( projectId ) ) { - check = false; - Exception exception = new ProjectIdForQueryEmptyException(); - result.error( exception ); - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new DynamicQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(); - queryFilter.addEqualsTerm( new EqualsTerm("projectId", projectId )); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - List dynamicList = null; - long total = dynamicQueryService.countWithFilter( queryFilter ); - if( total > 0 ) { - dynamicList = dynamicQueryService.listWithFilter( effectivePerson, count, flag, "createTime", "desc", queryFilter ); - }else { - total = 0; - } - - if( ListTools.isNotEmpty( dynamicList )) { - wos = Wo.copier.copy(dynamicList); - }else { - wos = new ArrayList<>(); - } - - if( ListTools.isNotEmpty( wos )) { - for( Wo wo : wos ) { - if( wo.getObjectType().equals( "CHAT" )) { - //如果是Chat需要把Chat的Content,组装到description里 - wo.setDescription( chatQueryService.getContent( wo.getBundle() )); - } - } - } - - resultObject = new ResultObject( total, wos ); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统根据项目查询工作动态信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends WrapInTaskTag { - } - - public static class Wo extends Dynamic { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithTask.java deleted file mode 100644 index 7006d1e9ca76dab0b12376e45d6562d730f36151..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ActionListNextWithTask.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; - -public class ActionListNextWithTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListNextWithTask.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, String taskId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = new ArrayList<>(); - Wi wrapIn = null; - Boolean check = true; - QueryFilter queryFilter = null; - - if ( StringUtils.isEmpty( flag ) || "(0)".equals(flag)) { - flag = null; - } - - if ( StringUtils.isEmpty( taskId ) ) { - check = false; - Exception exception = new TaskIdForQueryEmptyException(); - result.error( exception ); - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new DynamicQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(); - queryFilter.addEqualsTerm( new EqualsTerm("taskId", taskId )); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - List dynamicList = null; - long total = dynamicQueryService.countWithFilter( queryFilter ); - - if( total > 0 ) { - dynamicList = dynamicQueryService.listWithFilter( effectivePerson, count, flag, "sequence", "desc", queryFilter ); - }else { - total = 0; - } - - if( ListTools.isNotEmpty( dynamicList )) { - wos = Wo.copier.copy(dynamicList); - - }else { - wos = new ArrayList<>(); - } - - if( ListTools.isNotEmpty( wos )) { - for( Wo wo : wos ) { - if( wo.getObjectType().equals( "CHAT" )) { - //如果是Chat需要把Chat的Content,组装到description里 - wo.setDescription( chatQueryService.getContent( wo.getBundle() )); - } - } - } - - resultObject = new ResultObject( total, wos ); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统根据工作任务查询工作动态信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends WrapInTaskTag { - } - - public static class Wo extends Dynamic { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/BaseAction.java deleted file mode 100644 index ad2d37f7759434123c1628e3255aa24624efc131..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/BaseAction.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicQueryService; -import com.x.teamwork.assemble.control.service.ChatQueryService; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.core.entity.Dynamic; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache dynamicCache = ApplicationCache.instance().getCache( Dynamic.class ); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected DynamicQueryService dynamicQueryService = new DynamicQueryService(); - - protected ChatQueryService chatQueryService = new ChatQueryService(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicAction.java deleted file mode 100644 index 0e2e040cdb78b83a6d2c7300f3af1183e5e461f4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicAction.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("dynamic") -@JaxrsDescribe("工作动态信息管理") -public class DynamicAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(DynamicAction.class); - - @JaxrsMethodDescribe(value = "根据过滤条件列示工作动态信息,下一页.", action = ActionListNextWithFilter.class) - @PUT - @Path("list/{id}/next/{count}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithFilter().execute(request, effectivePerson, id, count, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据项目列示工作动态信息,下一页.", action = ActionListNextWithProject.class) - @PUT - @Path("list/{id}/next/{count}/project/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithProject(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithProject().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据工作任务列示工作动态信息,下一页.", action = ActionListNextWithTask.class) - @PUT - @Path("list/{id}/next/{count}/task/{taskId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithTask(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("工作任务ID") @PathParam( "taskId" ) String taskId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithTask().execute(request, effectivePerson, id, count, taskId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicPersistException.java deleted file mode 100644 index 4f7bb7010e6d40b23dfbed439b4fb53f862b7853..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import com.x.base.core.project.exception.PromptException; - -class DynamicPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - DynamicPersistException( Throwable e ) { - super("系统在保存工作交流信息时发生异常。" , e ); - } - - DynamicPersistException( Throwable e, String message ) { - super("系统在保存工作交流信息时发生异常。Message:" + message, e ); - } - - DynamicPersistException( String message ) { - super("系统在保存工作交流信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicQueryException.java deleted file mode 100644 index 500c7384e8f1fdd758829b3236ddb5fb9357dae6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/DynamicQueryException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import com.x.base.core.project.exception.PromptException; - -class DynamicQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - DynamicQueryException( Throwable e ) { - super("系统在查询工作交流信息时发生异常。" , e ); - } - - DynamicQueryException( Throwable e, String message ) { - super("系统在查询工作交流信息时发生异常。Message:" + message, e ); - } - - DynamicQueryException( String message ) { - super("系统在查询工作交流信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ProjectIdForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ProjectIdForQueryEmptyException.java deleted file mode 100644 index ced30711df4e2c1c259858cf6cf4bc21f5f79339..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/ProjectIdForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import com.x.base.core.project.exception.PromptException; - -class ProjectIdForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectIdForQueryEmptyException() { - super("根据项目查询的工作动态时,项目ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/TaskIdForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/TaskIdForQueryEmptyException.java deleted file mode 100644 index 89a9ff520df7264ebcc766d6736dfd338c864af4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/TaskIdForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import com.x.base.core.project.exception.PromptException; - -class TaskIdForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskIdForQueryEmptyException() { - super("根据工作任务查询的工作动态时,工作任务ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/WrapInTaskTag.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/WrapInTaskTag.java deleted file mode 100644 index 069326b848c6aae257007394ef7909c1a0f3f3bd..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/dynamic/WrapInTaskTag.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.dynamic; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; - -public class WrapInTaskTag { - - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("用于搜索的项目ID,必填") - private String projectId = null; - - @FieldDescribe("用于搜索的工作任务ID,非必填.") - private String taskId = null; - - @FieldDescribe("用于搜索的对象类型:PROJECT、TASK、TASKGROUP、TASKLIST、TASKVIEW、CHAT等,非必填.") - private String objectType = null; - - @FieldDescribe("用于搜索的项目、工作或者工作组、列表、视图等对象的ID,非必填.") - private String bundle = null; - - @FieldDescribe("用于搜索的操作类别,非必填.") - private String optType = null; - - private Long rank = 0L; - - public String getProjectId() { - return projectId; - } - - public void setProjectId(String projectId) { - this.projectId = projectId; - } - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public String getObjectType() { - return objectType; - } - - public void setObjectType(String objectType) { - this.objectType = objectType; - } - - public String getBundle() { - return bundle; - } - - public void setBundle(String bundle) { - this.bundle = bundle; - } - - public String getOptType() { - return optType; - } - - public void setOptType(String optType) { - this.optType = optType; - } - - public String getOrderField() { - return orderField; - } - - public void setOrderField(String orderField) { - this.orderField = orderField; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getProjectId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "projectId", this.getProjectId() ) ); - } - if( StringUtils.isNotEmpty( this.getTaskId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "taskId", this.getTaskId() ) ); - } - if( StringUtils.isNotEmpty( this.getObjectType())) { - queryFilter.addEqualsTerm( new EqualsTerm( "objectType", this.getObjectType() ) ); - } - if( StringUtils.isNotEmpty( this.getOptType() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "optType", this.getOptType() ) ); - } - if( StringUtils.isNotEmpty( this.getBundle() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "bundle", this.getBundle() ) ); - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectFlagForQueryEmptyException.java deleted file mode 100644 index 4860b64d2ffd80563e81671c356ce30337bdc5aa..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.extfield; - -import com.x.base.core.project.exception.PromptException; - -class ProjectFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectFlagForQueryEmptyException() { - super("查询的项目信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectNotExistsException.java deleted file mode 100644 index 6e5d24fd524d30a81724af37f8374d031ef73ad2..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/extfield/ProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.extfield; - -import com.x.base.core.project.exception.PromptException; - -class ProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithBehindTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithBehindTask.java deleted file mode 100644 index 9db15d3428a58f877191050762e018f162f5139d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithBehindTask.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskList; - -public class ActionAddTask2ListWithBehindTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionAddTask2ListWithBehindTask.class); - - /** - * 一个工作任务在同一个工作任务组里只属于一个任务列表,不可重复 - * @param request - * @param effectivePerson - * @param taskListId - * @param jsonElement - * @return - * @throws Exception - */ - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskListId, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Wi wi = null; - String message = "任务已经成功添加到列表指定位置!"; - TaskList taskList = null; - Boolean check = true; - - if ( StringUtils.isEmpty( taskListId ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get( taskListId ); - if ( taskList == null) { - check = false; - message = "任务列表不存在或列表为[未归类任务]不允许排序操作!"; - }else { - message = "任务已经成功添加到列表["+ taskList.getName() +"]指定位置!"; - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定ID查询项目信息对象时发生异常。taskListId:" + taskListId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListPersistService.addTaskToTaskListWithBehindTask( wi.getTaskId(), taskListId, wi.getBehindTaskId(), effectivePerson ); - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - ApplicationCache.notify( Task.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "向指定的工作任务列表中添加任务信息时发生异常。taskListId:" + taskListId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - Wo wo = new Wo(); - if( taskList != null ) { - wo.setId( taskList.getId() ); - } - wo.setMessage(message); - result.setData( wo ); - return result; - } - - public static class Wi{ - - @FieldDescribe("需要添加到的列表里的工作任务ID") - private String taskId = null; - - @FieldDescribe("在列表里后面的一个工作任务ID,如果没有,可以为空") - private String behindTaskId = null; - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public String getBehindTaskId() { - return behindTaskId; - } - - public void setBehindTaskId(String behindTaskId) { - this.behindTaskId = behindTaskId; - } - } - - public static class Wo { - @FieldDescribe("目标工作任务列表ID") - private String id = null; - - @FieldDescribe("操作结果相关的消息") - private String message = null; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithOrderNumber.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithOrderNumber.java deleted file mode 100644 index 636363dfc613841fbd2fe5d6bf73fcb7933ebe96..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionAddTask2ListWithOrderNumber.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskList; - -public class ActionAddTask2ListWithOrderNumber extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionAddTask2ListWithOrderNumber.class); - - /** - * 一个工作任务在同一个工作任务组里只属于一个任务列表,不可重复 - * @param request - * @param effectivePerson - * @param taskListId - * @param jsonElement - * @return - * @throws Exception - */ - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskListId, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Wi wi = null; - TaskList taskList = null; - String message = "任务已经成功添加到列表指定位置!"; - Boolean check = true; - - if ( StringUtils.isEmpty( taskListId ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get( taskListId ); - if ( taskList == null) { - check = false; - //Exception exception = new TaskListNotExistsException( taskListId ); - //result.error( exception ); - message = "任务列表不存在或列表为[未归类任务]不允许排序操作!"; - }else { - message = "任务已经成功添加到列表["+ taskList.getName() +"]指定位置!"; - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定ID查询项目信息对象时发生异常。taskListId:" + taskListId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListPersistService.addTaskToTaskListWithOrderNumber( wi.getTaskId(), taskListId, wi.getOrderNumber(), effectivePerson ); - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - ApplicationCache.notify( Task.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "向指定的工作任务列表中添加任务信息时发生异常。taskListId:" + taskListId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - Wo wo = new Wo(); - if( taskList != null ) { - wo.setId( taskList.getId() ); - } - wo.setMessage(message); - result.setData( wo ); - return result; - } - - public static class Wi{ - - @FieldDescribe("需要添加到的列表里的工作任务ID") - private String taskId = null; - - @FieldDescribe("工作任务在列表里的排序位置,如果是最后一个,可以为空") - private Integer orderNumber = null; - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public Integer getOrderNumber() { - return orderNumber; - } - - public void setOrderNumber(Integer orderNumber) { - this.orderNumber = orderNumber; - } - } - - public static class Wo { - @FieldDescribe("目标工作任务列表ID") - private String id = null; - - @FieldDescribe("操作结果相关的消息") - private String message = null; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionDelete.java deleted file mode 100644 index c67e5d088a5e8c58a3c09de5a7f2737487e59b5c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionDelete.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.TaskList; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id) throws Exception { - ActionResult result = new ActionResult<>(); - TaskList taskList = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get(id); - if ( taskList == null) { - check = false; - Exception exception = new TaskListNotExistsException(id); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定flag查询项目信息对象时发生异常。id:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - //物理删除 - taskListPersistService.delete(id, effectivePerson); - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - - Wo wo = new Wo(); - wo.setId( taskList.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定flag删除项目信息对象时发生异常。id:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - dynamicPersistService.taskListDeleteDynamic( taskList, effectivePerson); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends WoId { - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionGet.java deleted file mode 100644 index e2b7221986cf6b180ff265aa5b26a893ee4ce2f1..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionGet.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.jaxrs.list.ActionListWithTaskGroup.Control; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskList; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskGroupId, String taskListId ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - TaskList taskList = null; - Boolean check = true; - - if ( StringUtils.isEmpty( taskListId ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( taskListId ); - Element element = taskListCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get( taskListId ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定id查询工作任务列表信息对象时发生异常。ID:" + taskListId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - if( taskList != null ) { - wo = Wo.copier.copy( taskList ); - wo.setTaskCount(taskListQueryService.countTaskWithTaskListId( effectivePerson.getDistinguishedName(), wo.getId(), wo.getTaskGroup() )); - }else { - if( StringUtils.isEmpty( taskGroupId )) { - check = false; - Exception exception = new TaskListQueryException( "工作任务分组ID都不能为空。" ); - result.error( exception ); - } - TaskGroup taskGroup = taskGroupQueryService.get( taskGroupId ); - if( taskGroup != null ) { - wo = Wo.copier.copy( taskListQueryService.getNoneList( taskGroup.getProject(), taskGroupId, effectivePerson.getDistinguishedName() ) ); - wo.setTaskCount(taskListQueryService.countTaskWithTaskListId( effectivePerson.getDistinguishedName(), wo.getId(), wo.getTaskGroup() )); - } - } - if( "NoneList".equalsIgnoreCase( wo.getMemo() )) { - wo.setControl( new Control(false, false, false, false )); - }else { - wo.setControl( new Control(true, true, true, true)); - } - taskListCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskListQueryException(e, "将查询出来的工作任务列表信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskList { - - @FieldDescribe("工作任务数量.") - private Long taskCount = 0L; - - @FieldDescribe("工作任务列表操作权限.") - private Control control; - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskList.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - public Long getTaskCount() { - return taskCount; - } - - public void setTaskCount(Long taskCount) { - this.taskCount = taskCount; - } - - public Control getControl() { - return control; - } - - public void setControl(Control control) { - this.control = control; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionList.java deleted file mode 100644 index e88ecd93c24267c5a1ed4d60f706481c3fe52617..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionList.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskList; - -import net.sf.ehcache.Element; - -public class ActionList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionList.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = null; - List taskLists = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "list.my", effectivePerson.getDistinguishedName(), projectId ); - Element element = taskListCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskLists = taskListQueryService.listWithProject( effectivePerson.getDistinguishedName(), projectId ); - if( ListTools.isNotEmpty( taskLists )) { - wos = Wo.copier.copy( taskLists ); - taskListCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据用户拥有的工作任务列表信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskList { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskList.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionListWithTaskGroupWithTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionListWithTaskGroupWithTask.java deleted file mode 100644 index 0c57a71e00375f10bcc5a238db4fc2c8770a6bff..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionListWithTaskGroupWithTask.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Element; - -public class ActionListWithTaskGroupWithTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithTaskGroupWithTask.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskGroupId, Boolean withTask ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = null; - List taskLists = null; - List tasks = null; - List tags = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "list.my.taskgroup", taskGroupId, withTask, effectivePerson.getDistinguishedName() ); - Element element = taskListCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskLists = taskListQueryService.listWithTaskGroup( effectivePerson.getDistinguishedName(), taskGroupId ); - if( ListTools.isNotEmpty( taskLists )) { - wos = Wo.copier.copy( taskLists ); - if( ListTools.isNotEmpty( wos )) { - for( Wo wo : wos ) { - //计算当前List里的任务数量 - wo.setTaskCount(taskListQueryService.countTaskWithTaskListId( effectivePerson.getDistinguishedName(), wo.getId(), wo.getTaskGroup() )); - if( "NoneList".equalsIgnoreCase( wo.getMemo() )) { - wo.setControl( new Control(false, false, false )); - }else { - wo.setControl( new Control(true, true, true )); - } - if( withTask ) { - //查询List下的所有任务信息集合 - tasks = taskQueryService.listMyTaskWithTaskListId( wo.getProject(), wo.getId(), effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( tasks )) { - wo.setTasks( WoTask.copier.copy( tasks ) ); - }else { - wo.setTasks( new ArrayList<>()); - } - if( ListTools.isNotEmpty( wo.getTasks() )) { - for( WoTask task : wo.getTasks() ) { - tags = taskTagQueryService.listTagsWithTask(effectivePerson, task.getId()); - if( ListTools.isNotEmpty( tags )) { - task.setTags( WoTaskTag.copier.copy( tags )); - } - } - } - } - } - } - taskListCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据用户在指定工作任务组拥有的工作任务列表信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskList { - - private Long rank; - - @FieldDescribe("工作任务数量.") - private Long taskCount = 0L; - - @FieldDescribe("工作任务列表操作权限.") - private Control control; - - @FieldDescribe("工作任务信息集合.") - private List tasks; - - public List getTasks() { - return tasks; - } - - public void setTasks(List tasks) { - this.tasks = tasks; - } - - public Control getControl() { - return control; - } - - public void setControl(Control control) { - this.control = control; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - public Long getTaskCount() { - return taskCount; - } - - public void setTaskCount(Long taskCount) { - this.taskCount = taskCount; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskList.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class WoTask extends WoTaskSimple{ - - @FieldDescribe("任务标签") - private List tags = null; - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Task.class, WoTask.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - } - - public static class WoTaskTag extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, WoTaskTag.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class Control{ - - private Boolean delete = false; - - private Boolean edit = false; - - private Boolean sortable = true; - - public Control( Boolean edit, Boolean delete, Boolean sortable ) { - this.delete = delete; - this.edit = edit; - this.sortable = sortable; - } - public Boolean getDelete() { - return delete; - } - - public void setDelete(Boolean delete) { - this.delete = delete; - } - - public Boolean getEdit() { - return edit; - } - - public void setEdit(Boolean edit) { - this.edit = edit; - } - public Boolean getSortable() { - return sortable; - } - public void setSortable(Boolean sortable) { - this.sortable = sortable; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRefreshTaskList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRefreshTaskList.java deleted file mode 100644 index 0d6956bae2674da62aad2d198c85f96ac9b9d935..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRefreshTaskList.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.TaskList; - -public class ActionRefreshTaskList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionRefreshTaskList.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Wi wi = null; - TaskList taskList = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get( id ); - if ( taskList == null) { - check = false; - Exception exception = new TaskListNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定flag查询项目信息对象时发生异常。id:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListPersistService.refreshTaskListRele(wi.getTaskIds(), id, effectivePerson); - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - - Wo wo = new Wo(); - wo.setId( taskList.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "向指定的工作任务列表中添加任务信息时发生异常。id:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi{ - - @FieldDescribe("需要添加到的列表里的工作任务ID") - private List taskIds = null; - - public List getTaskIds() { - return taskIds; - } - - public void setTaskIds(List taskIds) { - this.taskIds = taskIds; - } - } - - public static class Wo extends WoId { - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRemoveTaskFromList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRemoveTaskFromList.java deleted file mode 100644 index 7e98a76bb65191c90a25844c30e2068c64cd45ff..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionRemoveTaskFromList.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.TaskList; - -public class ActionRemoveTaskFromList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionRemoveTaskFromList.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id, String taskId ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskList taskList = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskListFlagForQueryEmptyException(); - result.error( exception ); - } - - if ( StringUtils.isEmpty( taskId ) ) { - check = false; - Exception exception = new TaskIdForRemoveEmptyException();; - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskList = taskListQueryService.get( id ); - if ( taskList == null) { - check = false; - Exception exception = new TaskListNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "根据指定flag查询项目信息对象时发生异常。id:" + id ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListPersistService.removeTaskFromList(taskId, id, effectivePerson); - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - - Wo wo = new Wo(); - wo.setId( taskList.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListQueryException(e, "从指定的工作任务列表中删除任务信息时发生异常。id:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends WoId { - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionSave.java deleted file mode 100644 index 9821b030b239c053a1a9a3313cd98da7c236683f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/ActionSave.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.TaskList; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionSave.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskList taskList = null; - TaskList taskList_old = null; - Wi wi = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - taskList_old = taskListQueryService.get( wi.getId() ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - - taskList = taskListPersistService.save( Wi.copier.copy(wi), effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( TaskList.class ); - Wo wo = new Wo(); - wo.setId( taskList.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListPersistException(e, "工作任务列表信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - dynamicPersistService.taskListSaveDynamic(taskList_old, taskList, effectivePerson, jsonElement.toString() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi{ - - @FieldDescribe("列表ID,新建时为空.") - private String id; - - @FieldDescribe("所属任务分组(必填).") - private String taskGroup; - - @FieldDescribe("工作任务列表名称(必填)") - private String name; - - @FieldDescribe("排序号") - private Integer order = 0; - - @FieldDescribe("列表描述") - private String memo; - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, TaskList.class, null, null ); - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getTaskGroup() { - return taskGroup; - } - - public void setTaskGroup(String taskGroup) { - this.taskGroup = taskGroup; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Integer getOrder() { - return order; - } - - public void setOrder(Integer order) { - this.order = order; - } - - public String getMemo() { - return memo; - } - - public void setMemo(String memo) { - this.memo = memo; - } - } - - public static class Wo extends WoId { - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForAddEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForAddEmptyException.java deleted file mode 100644 index 42a96bef384c6c9b3a30d65c334a0e02fccfd82d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForAddEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskIdForAddEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskIdForAddEmptyException() { - super("需要添加到列表的工作任务信息ID为空,无法继续操作。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForRemoveEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForRemoveEmptyException.java deleted file mode 100644 index af98e63161da5fb3db665162f08cb91696efcd85..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskIdForRemoveEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskIdForRemoveEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskIdForRemoveEmptyException() { - super("需要从列表中删除的工作任务信息ID为空,无法继续操作。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListAction.java deleted file mode 100644 index d0b2f472549e7a5c59c6c26bd9fa247e5ad77231..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListAction.java +++ /dev/null @@ -1,212 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("task_list") -@JaxrsDescribe("任务列表管理") -public class TaskListAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskListAction.class); - - @JaxrsMethodDescribe(value = "根据ID查询工作任务列表信息.", action = ActionGet.class) - @GET - @Path("taskgroup/{taskGroupId}/tasklist/{taskListId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务分组ID") @PathParam("taskGroupId") String taskGroupId, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam("taskListId") String taskListId ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, taskGroupId, taskListId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据工作任务组查询工作列表信息列表.", action = ActionListWithTaskGroup.class) - @GET - @Path("list/taskgroup/{taskgroup}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithTaskGroup(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务组ID") @PathParam("taskgroup") String taskgroup) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithTaskGroup().execute( request, effectivePerson, taskgroup ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据工作任务组查询工作列表信息列表.", action = ActionListWithTaskGroupWithTask.class) - @GET - @Path("list/taskgroup/{taskgroup}/{withTask}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithTaskGroupWithTask(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务组ID") @PathParam("taskgroup") String taskgroup, - @JaxrsParameterDescribe("是否包含工作列表") @PathParam("withTask") Boolean withTask) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithTaskGroupWithTask().execute( request, effectivePerson, taskgroup, withTask ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建或者更新一个工作任务列表信息.", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的工作任务列表信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "重新指定列表中所有的任务(删除原来的关联,添加新的关联).", action = ActionRefreshTaskList.class) - @PUT - @Path("tasklist/refresh") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void refreshTaskList(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam("id") String id, - @JaxrsParameterDescribe("需要关联的工作任务ID") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionRefreshTaskList().execute(request, effectivePerson, id, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "将一个工作任务添加到指定的列表中.", action = ActionAddTask2ListWithOrderNumber.class) - @PUT - @Path("add2list/{listId}/order") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void addTask2ListWithOrderNumber(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam("listId") String listId, - @JaxrsParameterDescribe("需要关联的工作任务ID及排序号信息") JsonElement jsonElement) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionAddTask2ListWithOrderNumber().execute(request, effectivePerson, listId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "将一个工作任务添加到指定的列表中.", action = ActionAddTask2ListWithBehindTask.class) - @PUT - @Path("add2list/{listId}/behindTask") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void addTask2ListWithBehindTask(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam("listId") String listId, - @JaxrsParameterDescribe("需要关联的工作任务ID及后序工作任务ID") JsonElement jsonElement) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionAddTask2ListWithBehindTask().execute(request, effectivePerson, listId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "将一个工作任务从指定的列表中移除.", action = ActionRemoveTaskFromList.class) - @DELETE - @Path("remove/{listId}/task/{taskId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void removeTaskFromList(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam("listId") String listId, - @JaxrsParameterDescribe("工作任务ID") @PathParam("taskId") String taskId ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionRemoveTaskFromList().execute(request, effectivePerson, listId, taskId); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "删除工作任务列表信息.", action = ActionDelete.class) - @DELETE - @Path("delete/{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListFlagForQueryEmptyException.java deleted file mode 100644 index 22a08cfe48788c7140c0db008846e8a7dc050a11..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskListFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListFlagForQueryEmptyException() { - super("查询的工作任务列表信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListNotExistsException.java deleted file mode 100644 index 48c783ff297386985586201eddf1822e9892bebf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskListNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListNotExistsException( String id ) { - super("指定ID的工作任务列表信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListPersistException.java deleted file mode 100644 index a14608aed2776399bbbbf291ac7d5513162cd765..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskListPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListPersistException( Throwable e ) { - super("系统在保存工作任务列表信息时发生异常。" , e ); - } - - TaskListPersistException( Throwable e, String message ) { - super("系统在保存工作任务列表信息时发生异常。Message:" + message, e ); - } - - TaskListPersistException( String message ) { - super("系统在保存工作任务列表信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListQueryException.java deleted file mode 100644 index 561580d83bfbadfac4862878ea93b79c66dd59eb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/TaskListQueryException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import com.x.base.core.project.exception.PromptException; - -class TaskListQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListQueryException( String message ) { - super(message ); - } - - TaskListQueryException( Throwable e ) { - super("系统在查询工作任务列表信息时发生异常。" , e ); - } - - TaskListQueryException( Throwable e, String message ) { - super("系统在查询工作任务列表信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/WoTaskSimple.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/WoTaskSimple.java deleted file mode 100644 index da64a9bcae8aa1a9a6e140ffe0c740fa1e8141de..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/list/WoTaskSimple.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.list; - -import java.util.Date; - -import com.x.base.core.project.annotation.FieldDescribe; - -public class WoTaskSimple { - - @FieldDescribe("数据库主键,自动生成.") - private String id ; - - @FieldDescribe("所属项目ID.") - private String project; - - @FieldDescribe("所属项目名称.") - private String projectName; - - @FieldDescribe("父级工作任务ID.") - private String parent; - - @FieldDescribe("工作任务名称(40字)") - private String name; - - @FieldDescribe("工作任务概括(80字)") - private String summay; - - @FieldDescribe("工作开始时间") - private Date startTime; - - @FieldDescribe("工作开始时间") - private Date endTime; - - @FieldDescribe("工作等级:普通 | 紧急 | 特急") - private String priority = "普通"; - - @FieldDescribe("工作状态:执行中- processing | 已完成- completed | 已归档- archived") - private String workStatus = "processing"; - - @FieldDescribe("是否已完成") - private Boolean completed = false; - - @FieldDescribe("是否已认领") - private Boolean claimed = false; - - @FieldDescribe("是否已超时") - private Boolean overtime = false; - - @FieldDescribe("是否已经归档") - private Boolean archive = false; - - @FieldDescribe("工作进度:记录4位数,显示的时候除以100") - private Integer progress = 0; - - @FieldDescribe("执行者和负责人") - private String executor; - - @FieldDescribe("创建者,可能为System,如果由系统创建。") - private String creatorPerson; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getProjectName() { - return projectName; - } - - public void setProjectName(String projectName) { - this.projectName = projectName; - } - - public String getParent() { - return parent; - } - - public void setParent(String parent) { - this.parent = parent; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSummay() { - return summay; - } - - public void setSummay(String summay) { - this.summay = summay; - } - - public Date getStartTime() { - return startTime; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getEndTime() { - return endTime; - } - - public void setEndTime(Date endTime) { - this.endTime = endTime; - } - - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } - - public String getWorkStatus() { - return workStatus; - } - - public void setWorkStatus(String workStatus) { - this.workStatus = workStatus; - } - - public Boolean getCompleted() { - return completed; - } - - public void setCompleted(Boolean completed) { - this.completed = completed; - } - - public Boolean getClaimed() { - return claimed; - } - - public void setClaimed(Boolean claimed) { - this.claimed = claimed; - } - - public Boolean getOvertime() { - return overtime; - } - - public void setOvertime(Boolean overtime) { - this.overtime = overtime; - } - - public Boolean getArchive() { - return archive; - } - - public void setArchive(Boolean archive) { - this.archive = archive; - } - - public Integer getProgress() { - return progress; - } - - public void setProgress(Integer progress) { - this.progress = progress; - } - - public String getExecutor() { - return executor; - } - - public void setExecutor(String executor) { - this.executor = executor; - } - - public String getCreatorPerson() { - return creatorPerson; - } - - public void setCreatorPerson(String creatorPerson) { - this.creatorPerson = creatorPerson; - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionDelete.java deleted file mode 100644 index d3eb7437e40e9159b7d30ae805c3df3ce413dbcb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionDelete.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectGroup; -import com.x.teamwork.core.entity.Task; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult result = new ActionResult<>(); - Project project = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( projectId ) ) { - check = false; - Exception exception = new ProjectFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get(projectId); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException(projectId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectQueryException(e, "根据指定flag查询项目信息对象时发生异常。projectId:" + projectId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - projectPersistService.delete( projectId, effectivePerson ); - // 更新缓存 - ApplicationCache.notify( ProjectGroup.class ); - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( Project.class ); - - wo.setId( project.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new ProjectQueryException(e, "根据指定flag删除项目信息对象时发生异常。projectId:" + projectId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_PROJECT, - BatchOperationProcessService.OPT_TYPE_DELETE, projectId, projectId, "刷新文档权限:ID=" + projectId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.projectDeleteDynamic( project, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionStar.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionStar.java deleted file mode 100644 index 7d1644798fad19a50568a097738b7494b54538e3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionStar.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Project; - -public class ActionStar extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionStar.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - Project project = null; - Boolean check = true; - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new ProjectFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get(flag); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectQueryException(e, "根据指定flag查询应用项目信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - try { - projectPersistService.star( flag, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( Project.class ); - Wo wo = new Wo(); - wo.setId( project.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectPersistException(e, "项目信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - return result; - } - - public static class Wo extends WoId { - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUnStar.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUnStar.java deleted file mode 100644 index b9cb60f2f1d7cdf36f3146246742956c3ba1278b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUnStar.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Project; - -public class ActionUnStar extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionUnStar.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - Project project = null; - Boolean check = true; - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new ProjectFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get(flag); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectQueryException(e, "根据指定flag查询应用项目信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - try { - projectPersistService.unStar( flag, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( Project.class ); - - Wo wo = new Wo(); - wo.setId( project.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectPersistException(e, "项目信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - return result; - } - - public static class Wo extends WoId { - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUpdateIcon.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUpdateIcon.java deleted file mode 100644 index 14041238102c44be854255b084eff31229dee688..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ActionUpdateIcon.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Project; - -public class ActionUpdateIcon extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionUpdateIcon.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Wi wi = null; - Project project = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - if ( !projectPersistService.checkPermissionForPersist( effectivePerson, systemConfigQueryService.getValueByCode("PROJECT_CREATOR")) ) { - check = false; - Exception exception = new ProjectPersistException("project save permission denied!" ); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get( projectId ); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException( projectId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectQueryException(e, "根据指定flag查询应用项目信息对象时发生异常。ID:" + projectId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - projectPersistService.saveProjectIcon( projectId, wi.getIcon() ); - - // 更新缓存 - ApplicationCache.notify( Project.class ); - Wo wo = new Wo(); - wo.setId( project.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectPersistException(e, "项目图标信息更新时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - try { - dynamicPersistService.projectIconSaveDynamic( project, effectivePerson, jsonElement.toString() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - -public static class Wi { - - @FieldDescribe("图标文件ID") - private String icon; - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - } - - public static class Wo extends WoId { - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectExcutorEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectExcutorEmptyException.java deleted file mode 100644 index 6946268ae68d31b587dc1a933126a595f2c59f8f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectExcutorEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectExcutorEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectExcutorEmptyException() { - super("项目负责人信息不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectFlagForQueryEmptyException.java deleted file mode 100644 index 15d3ed98d068f966b2732ca4b3fbc846b3bda41c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectFlagForQueryEmptyException() { - super("查询的项目信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectGroupEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectGroupEmptyException.java deleted file mode 100644 index a046133eb3957c1897c158ef9259940d3668f6ca..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectGroupEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectGroupEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectGroupEmptyException() { - super("项目组信息不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectNotExistsException.java deleted file mode 100644 index de1a118ff2e70a8b7180aea508296237f71372f4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectPersistException.java deleted file mode 100644 index 6f15c3650430143546cefe0c3492da8391831262..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectPersistException( Throwable e ) { - super("系统在保存项目信息时发生异常。" , e ); - } - - ProjectPersistException( Throwable e, String message ) { - super("系统在保存项目信息时发生异常。Message:" + message, e ); - } - - ProjectPersistException( String message ) { - super("系统在保存项目信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectQueryException.java deleted file mode 100644 index 037bc3ad940f055f2f0d1f191a20ded5de140fcb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectQueryException( Throwable e ) { - super("系统在查询项目信息时发生异常。" , e ); - } - - ProjectQueryException( Throwable e, String message ) { - super("系统在查询项目信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectTitleEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectTitleEmptyException.java deleted file mode 100644 index f98884f5eaaa483e755c8bab3a61e5de15ff6bdf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/ProjectTitleEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import com.x.base.core.project.exception.PromptException; - -class ProjectTitleEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectTitleEmptyException() { - super("项目信息标题不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInProject.java deleted file mode 100644 index 4a249ccd3e249d9d2364883101dd9202f7641f7a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInProject.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import java.util.ArrayList; -import java.util.List; - -import com.x.teamwork.core.entity.Project; - -public class WrapInProject extends Project{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInQueryProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInQueryProject.java deleted file mode 100644 index e32df7f2656b482f3c6e057b078124f527f64731..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapInQueryProject.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -public class WrapInQueryProject { - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填, 默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("用于搜索的标题,非必填.") - private String title = null; - - @FieldDescribe("用于搜索的项目类型,非必填.") - private String type = null; - - @FieldDescribe("是否已完成,非必填") - private String completed = null; - - @FieldDescribe("是否已经删除,非必填") - private String deleted = null; - - @FieldDescribe("是否已经归档,非必填") - private String archive = null; - - @FieldDescribe("执行者和负责人:单值,非必填") - private String executor = null; - - @FieldDescribe("用于搜索的项目分组标识:单值,非必填.") - private String group = null; - - private Long rank = 0L; - - public String getGroup() { - return group; - } - public void setGroup(String group) { - this.group = group; - } - public String getOrderField() { - return orderField; - } - public void setOrderField(String orderField) { - this.orderField = orderField; - } - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - public String getTitle() { - return title; - } - public void setTitle(String title) { - this.title = title; - } - public String getType() { - return type; - } - public void setType(String type) { - this.type = type; - } - public String getCompleted() { - return completed; - } - public void setCompleted(String completed) { - this.completed = completed; - } - public String getDeleted() { - return deleted; - } - public void setDeleted(String deleted) { - this.deleted = deleted; - } - public String getArchive() { - return archive; - } - public void setArchive(String archive) { - this.archive = archive; - } - public String getExecutor() { - return executor; - } - public void setExecutor(String executor) { - this.executor = executor; - } - public Long getRank() { - return rank; - } - public void setRank(Long rank) { - this.rank = rank; - } - - - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - queryFilter.setJoinType( "and" ); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getTitle() )) { - queryFilter.addLikeTerm( new LikeTerm( "title", this.getTitle() ) ); - } - if( StringUtils.isNotEmpty( this.getExecutor())) { - queryFilter.addEqualsTerm( new EqualsTerm( "executor", this.getExecutor() ) ); - } - if( StringUtils.isNotEmpty( this.getCompleted() )) { - if( "true".equalsIgnoreCase( this.getCompleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getDeleted() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getArchive() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "archive", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "archive", false ) ); - } - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapOutProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapOutProject.java deleted file mode 100644 index 80a5e8f7dda1ebcc493799d2eb2727e4a5a492d8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/project/WrapOutProject.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.project; - -import java.util.List; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectGroup; - -public class WrapOutProject extends Project{ - - private static final long serialVersionUID = 1L; - - @FieldDescribe("是否标星") - private Boolean star = false; - - @FieldDescribe("项目控件权限") - private WrapOutControl control = null; - - @FieldDescribe("说明信息(1M)") - private String description; - - @FieldDescribe("项目组列表") - private List groups = null; - - private Long rank; - - public Boolean getStar() { - return star; - } - - public void setStar(Boolean star) { - this.star = star; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public List getGroups() { - return groups; - } - - public void setGroups(List groups) { - this.groups = groups; - } - - public WrapOutControl getControl() { - return control; - } - - public void setControl(WrapOutControl control) { - this.control = control; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionListWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionListWithFilter.java deleted file mode 100644 index 7134158f170fd6b814601880a8137aa01471bb73..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionListWithFilter.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.codec.digest.DigestUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Element; - -public class ActionListWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithFilter.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List projectGroups = null; - List wos = null; - Wi wi = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectTemplateQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - String cacheKey = ApplicationCache.concreteCacheKey( getStringListHeyx( wi.getIds()) ); - /*Element element = projectGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroups = projectGroupQueryService.list( wi.getIds() ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectTemplateQueryException(e, "系统通过指定的ID列表查询项目组信息列表时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( projectGroups )) { - wos = Wo.copier.copy( projectGroups ); - SortTools.asc( wos, "createTime"); - projectGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } - }*/ - return result; - } - - public static class Wi { - - @FieldDescribe("项目组ID列表") - private List ids; - - public List getIds() { - return ids; - } - - public void setIds(List ids) { - this.ids = ids; - } - } - - public static class Wo extends ProjectGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( ProjectGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - private String getStringListHeyx( List list ) { - StringBuffer content = new StringBuffer(); - if( ListTools.isNotEmpty( list )) { - SortTools.asc( list ); - for( String str : list ) { - content.append( str ); - } - return DigestUtils.sha1Hex(content.toString() ); - } - return "null"; - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionSave.java deleted file mode 100644 index f1001fe010bf262368ac744c09e0cbba6387d45e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ActionSave.java +++ /dev/null @@ -1,233 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionSave.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - ProjectTemplate template = null; - ProjectTemplate old_template = null; - Wi wi = null; - Wo wo = new Wo(); - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectTemplatePersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - - if( Boolean.TRUE.equals( check ) ){ - old_template = projectTemplateQueryService.get( wi.getId() ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - template = projectTemplatePersistService.save( Wi.copier.copy(wi), effectivePerson ); - - //添加模板对应的泳道 - projectTemplatePersistService.createTaskList( template ,effectivePerson.getDistinguishedName()); - - // 更新缓存 - ApplicationCache.notify( ProjectTemplate.class ); - ApplicationCache.notify( TaskListTemplate.class ); - - wo.setId( template.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new ProjectTemplatePersistException(e, "项目信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_PROJECT, - BatchOperationProcessService.OPT_TYPE_PERMISSION, template.getId(), template.getId(), "刷新文档权限:ID=" + template.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - List dynamics = dynamicPersistService.projectTemplateSaveDynamic(old_template, template, effectivePerson, jsonElement.toString() ); - if( dynamics == null ) { - dynamics = new ArrayList<>(); - } - if( wo != null ) { - wo.setDynamics(WoDynamic.copier.copy(dynamics)); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi { - - @FieldDescribe("数据库主键,自动生成,非必填.") - private String id; - - @FieldDescribe("模板名称,必填") - private String title; - - @FieldDescribe("排序号,非必填") - private Integer order; - - @FieldDescribe("模板类型,非必填") - private String type; - - @FieldDescribe("图标文件ID,非必填") - private String icon = null; - - @FieldDescribe("说明信息(1M),非必填") - private String description; - - @FieldDescribe("模板包含的永道,可多值,非必填.") - private List taskList = null; - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, ProjectTemplate.class, null, null ); - - private String owner = null; - - private Boolean deleted = false; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public Integer getOrder() { - return order; - } - - public void setOrder(Integer order) { - this.order = order; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - public String getOwner() { - return owner; - } - - public void setOwner(String owner) { - this.owner = owner; - } - - public List getTaskList() { - return taskList; - } - - public void setTaskList(List taskList) { - this.taskList = taskList; - } - - public Boolean getDeleted() { - return deleted; - } - - public void setDeleted(Boolean deleted) { - this.deleted = deleted; - } - } - -public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/BaseAction.java deleted file mode 100644 index 4089db30a4ed1a5cb9025a29189282c3545faa54..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/BaseAction.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectTemplatePersistService; -import com.x.teamwork.assemble.control.service.ProjectTemplateQueryService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.core.entity.ProjectTemplate; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache projectTemplateCache = ApplicationCache.instance().getCache( ProjectTemplate.class ); - - protected ProjectTemplateQueryService projectTemplateQueryService = new ProjectTemplateQueryService(); - - protected ProjectTemplatePersistService projectTemplatePersistService = new ProjectTemplatePersistService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateFlagForQueryEmptyException.java deleted file mode 100644 index 666374e4fd29d1cef83485ff3bd10f3b221584a5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import com.x.base.core.project.exception.PromptException; - -class ProjectTemplateFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectTemplateFlagForQueryEmptyException() { - super("查询的项目模板信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateNotExistsException.java deleted file mode 100644 index 1716a62519ffcc9e71fdf63e666d060be5027dd9..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import com.x.base.core.project.exception.PromptException; - -class ProjectTemplateNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectTemplateNotExistsException( String id ) { - super("指定ID的项目模板信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplatePersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplatePersistException.java deleted file mode 100644 index 409514651962534c48d25a38d76d74c12b099d60..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplatePersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import com.x.base.core.project.exception.PromptException; - -class ProjectTemplatePersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectTemplatePersistException( Throwable e ) { - super("系统在保存项目模板信息时发生异常。" , e ); - } - - ProjectTemplatePersistException( Throwable e, String message ) { - super("系统在保存项目模板信息时发生异常。Message:" + message, e ); - } - - ProjectTemplatePersistException( String message ) { - super("系统在保存项目模板信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateQueryException.java deleted file mode 100644 index 79c1fe0f491f64face3160f8353fad0a696afa8a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectTemplate/ProjectTemplateQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectTemplate; - -import com.x.base.core.project.exception.PromptException; - -class ProjectTemplateQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectTemplateQueryException( Throwable e ) { - super("系统在查询项目模板信息时发生异常。" , e ); - } - - ProjectTemplateQueryException( Throwable e, String message ) { - super("系统在查询项目模板信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionDelete.java deleted file mode 100644 index 82a337469638563e0f4eb90bfef52c665588ca5e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionDelete.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectGroup; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - ProjectGroup projectGroup = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new ProjectGroupFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroup = projectGroupQueryService.get(flag); - if ( projectGroup == null) { - check = false; - Exception exception = new ProjectGroupNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "根据指定flag查询项目信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroupPersistService.delete(flag, effectivePerson ); - // 更新缓存 - ApplicationCache.notify( Project.class ); - ApplicationCache.notify( ProjectGroup.class ); - - wo.setId( projectGroup.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "根据指定flag删除项目信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.projectGroupDeleteDynamic( projectGroup, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionGet.java deleted file mode 100644 index 8849c9b9dde0b9910fe848fbdd7e354a08bdf17b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionGet.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - ProjectGroup projectGroup = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new ProjectGroupFlagForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( id ); - Element element = projectGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroup = projectGroupQueryService.get( id ); - if ( projectGroup == null) { - check = false; - Exception exception = new ProjectGroupNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "根据指定flag查询项目组信息对象时发生异常。id:" + id ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wo = Wo.copier.copy( projectGroup ); - projectGroupCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new ProjectGroupQueryException(e, "将查询出来的项目组信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends ProjectGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( ProjectGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionList.java deleted file mode 100644 index c751b4053643e596d3ce5927f38a3df563cfeec7..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionList.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Element; - -public class ActionList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionList.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = null; - List projectGroups = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "list.my", effectivePerson.getDistinguishedName() ); - Element element = projectGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroups = projectGroupQueryService.listGroupByPerson( effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( projectGroups )) { - wos = Wo.copier.copy( projectGroups ); - - SortTools.asc( wos, "createTime"); - - projectGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "根据用户拥有的项目组信息列表时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends ProjectGroup { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( ProjectGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionListWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionListWithFilter.java deleted file mode 100644 index 2ef2c0989a26202ce1e7124da541a5b2ce0486ff..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionListWithFilter.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.codec.digest.DigestUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Element; - -public class ActionListWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithFilter.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List projectGroups = null; - List wos = null; - Wi wi = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - String cacheKey = ApplicationCache.concreteCacheKey( getStringListHeyx( wi.getIds()) ); - Element element = projectGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroups = projectGroupQueryService.list( wi.getIds() ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupQueryException(e, "系统通过指定的ID列表查询项目组信息列表时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( projectGroups )) { - wos = Wo.copier.copy( projectGroups ); - SortTools.asc( wos, "createTime"); - projectGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } - } - return result; - } - - public static class Wi { - - @FieldDescribe("项目组ID列表") - private List ids; - - public List getIds() { - return ids; - } - - public void setIds(List ids) { - this.ids = ids; - } - } - - public static class Wo extends ProjectGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( ProjectGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - private String getStringListHeyx( List list ) { - StringBuffer content = new StringBuffer(); - if( ListTools.isNotEmpty( list )) { - SortTools.asc( list ); - for( String str : list ) { - content.append( str ); - } - return DigestUtils.sha1Hex(content.toString() ); - } - return "null"; - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionSave.java deleted file mode 100644 index 9a1920d744173ac7711b3d52cb5a60712bde663a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ActionSave.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectGroup; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionSave.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - ProjectGroup projectGroup = null; - ProjectGroup projectGroup_old = null; - Wi wi = null; - Wo wo = new Wo(); - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - projectGroup_old = projectGroupQueryService.get( wi.getId() ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroup = projectGroupPersistService.save( wi, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( Project.class ); - ApplicationCache.notify( ProjectGroup.class ); - - wo.setId( projectGroup.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new ProjectGroupPersistException(e, "项目信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.projectGroupSaveDynamic(projectGroup_old, projectGroup, effectivePerson, jsonElement.toString() ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi extends ProjectGroup { - private static final long serialVersionUID = -6314932919066148113L; - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, ProjectGroup.class, null, null ); - - @FieldDescribe("说明信息") - private String description; - - @FieldDescribe("图标icon Base64编码后的文本.") - private String icon; - - @FieldDescribe("图标主色调.") - private String iconColor; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - public String getIconColor() { - return iconColor; - } - - public void setIconColor(String iconColor) { - this.iconColor = iconColor; - } - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/BaseAction.java deleted file mode 100644 index ca74dd46c29dd14eb785b92d4a42ed1e8acc9491..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/BaseAction.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectGroupPersistService; -import com.x.teamwork.assemble.control.service.ProjectGroupQueryService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache projectGroupCache = ApplicationCache.instance().getCache( ProjectGroup.class ); - - protected ProjectGroupQueryService projectGroupQueryService = new ProjectGroupQueryService(); - - protected ProjectGroupPersistService projectGroupPersistService = new ProjectGroupPersistService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupAction.java deleted file mode 100644 index e38d6729be615ba5054f17534efc07fe558ca832..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupAction.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("project_group") -@JaxrsDescribe("项目组信息管理") -public class ProjectGroupAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(ProjectGroupAction.class); - - @JaxrsMethodDescribe(value = "根据ID查询项目组信息.", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目组ID") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询用户创建的所有项目组信息列表.", action = ActionList.class) - @GET - @Path("list/my") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listGroups(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionList().execute( request, effectivePerson ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID列表查询项目组信息列表.", action = ActionListWithFilter.class) - @PUT - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithIds(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("传入的ID列表") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithFilter().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建或者更新一个项目组信息.", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的项目组信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除项目组信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupFlagForQueryEmptyException.java deleted file mode 100644 index b90acaf642566467f462c3ef42bcc89eeec72740..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import com.x.base.core.project.exception.PromptException; - -class ProjectGroupFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectGroupFlagForQueryEmptyException() { - super("查询的项目组信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupNotExistsException.java deleted file mode 100644 index ebbef299245d6257821b531a9f9ff13e5fa2d1fd..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import com.x.base.core.project.exception.PromptException; - -class ProjectGroupNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectGroupNotExistsException( String id ) { - super("指定ID的项目组信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupPersistException.java deleted file mode 100644 index 85c71acf97cda4a1d5c5f4130a9dc96451887559..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import com.x.base.core.project.exception.PromptException; - -class ProjectGroupPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectGroupPersistException( Throwable e ) { - super("系统在保存项目组信息时发生异常。" , e ); - } - - ProjectGroupPersistException( Throwable e, String message ) { - super("系统在保存项目组信息时发生异常。Message:" + message, e ); - } - - ProjectGroupPersistException( String message ) { - super("系统在保存项目组信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupQueryException.java deleted file mode 100644 index 7614cac6f95975ef4ca8690750a71df8d9189e3c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/projectgroup/ProjectGroupQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.projectgroup; - -import com.x.base.core.project.exception.PromptException; - -class ProjectGroupQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectGroupQueryException( Throwable e ) { - super("系统在查询项目组信息时发生异常。" , e ); - } - - ProjectGroupQueryException( Throwable e, String message ) { - super("系统在查询项目组信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionArchive.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionArchive.java deleted file mode 100644 index 47b6009814a30a827c1f3a673eca9f081affd13f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionArchive.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.service.UserManagerService; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskView; - -public class ActionArchive extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionArchive.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskId) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - Task task = null; - Boolean check = true; - - if ( StringUtils.isEmpty( taskId ) ) { - check = false; - Exception exception = new TaskFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - task = taskQueryService.get( taskId ); - if ( task == null) { - check = false; - Exception exception = new TaskNotExistsException( taskId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定flag查询工作任务信息对象时发生异常。id:" + taskId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - //工作创建者、工作负责人、管理者和系统管理员有归档权限 - if( !hasArchivePermission( task, effectivePerson )) { - check = false; - Exception exception = new TaskPersistException( "用户没有工作任务的归档权限,请联系管理员和工作负责人进行工作归档操作!" ); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskPersistService.archiveTask( taskId ); - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskView.class ); - ApplicationCache.notify( TaskGroup.class ); - ApplicationCache.notify( TaskList.class ); - - wo = new Wo(); - wo.setId( taskId ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "系统在根据指定ID归档工作任务时发生异常。id:" + taskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - /** - * 判断用户是否有指定工作的归档权限 - * @param task - * @param effectivePerson - * @return - * @throws Exception - */ - private boolean hasArchivePermission(Task task, EffectivePerson effectivePerson) throws Exception { - if( effectivePerson.isManager()) { - return true; - } - if( effectivePerson.getDistinguishedName().equalsIgnoreCase( task.getCreatorPerson() )) { - return true; - } - if( effectivePerson.getDistinguishedName().equalsIgnoreCase( task.getExecutor() )) { - return true; - } - if( ListTools.isNotEmpty(task.getManageablePersonList()) && task.getManageablePersonList().contains(effectivePerson.getDistinguishedName()) ) { - return true; - } - if( new UserManagerService().isHasPlatformRole( effectivePerson.getDistinguishedName(), "TeamWorkManager") ) { - return true; - } - //如果还查不到,那么判断一下用户是否是项目的管理员,创建者和负责人 - Project project = projectQueryService.get( task.getProject()); - if( project != null ) { - if( effectivePerson.getDistinguishedName().equalsIgnoreCase( project.getCreatorPerson() )) { - return true; - } - if( effectivePerson.getDistinguishedName().equalsIgnoreCase( project.getExecutor() )) { - return true; - } - if( ListTools.isNotEmpty( project.getManageablePersonList()) && project.getManageablePersonList().contains(effectivePerson.getDistinguishedName()) ) { - return true; - } - } - return false; - } - - public static class Wo extends WoId { - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionDelete.java deleted file mode 100644 index 8930068192b8b928e828bb89dfc0e7aff2f5edad..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionDelete.java +++ /dev/null @@ -1,162 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.assemble.control.service.MessageFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskView; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - Task task = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new TaskFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - task = taskQueryService.get(flag); - if ( task == null) { - check = false; - Exception exception = new TaskNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定flag查询工作任务信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskPersistService.delete(flag, effectivePerson ); - taskGroupPersistService.refreshTaskCountInTaskGroupWithTaskId( effectivePerson.getDistinguishedName(), flag ); - - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskView.class ); - ApplicationCache.notify( TaskGroup.class ); - ApplicationCache.notify( TaskList.class ); - - wo.setId( task.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定flag删除工作任务信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_DELETE, flag, flag, "删除文档:ID=" + flag ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isNotEmpty( task.getParent() )) { - Task parentTask = taskQueryService.get( task.getParent() ); - if( parentTask != null ) { - try { - dynamicPersistService.subTaskDeleteDynamic( parentTask, task, effectivePerson ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - MessageFactory.message_to_teamWorkDelete(task); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - Dynamic dynamic = dynamicPersistService.taskDeleteDynamic( task, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - if( wo != null ) { - wo.setDynamics(dynamics); - } - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionManagerUpdate.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionManagerUpdate.java deleted file mode 100644 index 3327f98b33b9611d12b067aa98a324f8de581240..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionManagerUpdate.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.assemble.control.service.MessageFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskView; - -public class ActionManagerUpdate extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionManagerUpdate.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Task task = null; - Wi wi = null; - Wo wo = new Wo(); - Boolean check = true; - List old_managers = null; - List new_managers = null; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - task = taskQueryService.get( id ); - if( task == null ) { - check = false; - Exception exception = new TaskNotExistsException( id ); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - old_managers = task.getManageablePersonList(); - new_managers = wi.getManageablePersonList(); - if( ListTools.isNotEmpty( wi.getManageablePersonList() ) ) { - try { - task = taskPersistService.addManager( id, new_managers, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskView.class ); - - wo.setId( task.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "添加工作任务管理者时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - if( Boolean.TRUE.equals( check ) ){ - List addManagers = new ArrayList<>(); - List removeManagers = new ArrayList<>(); - if( old_managers == null ) { old_managers = new ArrayList<>(); } - if( new_managers == null ) { old_managers = new ArrayList<>(); } - for( String manager : old_managers ) { - if( !new_managers.contains( manager )) { - removeManagers.add( manager ); - } - } - for( String manager : new_managers ) { - if( !old_managers.contains( manager )) { - addManagers.add( manager ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, task.getId(), task.getId(), "变更管理员,刷新文档权限:ID=" + task.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - MessageFactory.message_to_teamWorkUpdateManagers( task, addManagers ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - try {//记录工作任务信息变化记录 - List dynamics = dynamicPersistService.taskManagerUpdateDynamic( task, addManagers, removeManagers, effectivePerson ); - if( dynamics == null ) { - dynamics = new ArrayList<>(); - } - wo.setDynamics( WoDynamic.copier.copy( dynamics )); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi { - - @FieldDescribe("管理者标识列表") - private List manageablePersonList; - - public List getManageablePersonList() { - return manageablePersonList; - } - - public void setManageablePersonList(List manageablePersonList) { - this.manageablePersonList = manageablePersonList; - } - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionMoveToList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionMoveToList.java deleted file mode 100644 index aaea10a2f5fd5b0b6857439381835fee57ffadeb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionMoveToList.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.*; -import org.apache.commons.lang3.StringUtils; - -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; - -/** - * 将指定的任务移动到其他的泳道里 - */ -public class ActionMoveToList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionMoveToList.class); - - /** - * 将指定的任务移动到其他的泳道(TaskList)里 - * 1、查询 参数是否合法 - * 2、转移Task的泳道关联 - * 3、调整TaskList和TaskGroup的相关统计数据 - * 4、记录动态信息 - * - * @param request - * @param effectivePerson - * @param sourceTaskId - * @return - * @throws Exception - */ - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String sourceTaskId, String targetListId ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = new Wo(); - Task sourceTask = null; - TaskList targetTaskList = null; - TaskDetail taskDetail = null; - TaskExtField taskExtField = null; - List dynamics = new ArrayList<>(); - Boolean check = true; - - if ( StringUtils.isEmpty( sourceTaskId ) ) { - check = false; - Exception exception = new TaskTransformException("需要复制的工作任务ID不允许为空!"); - result.error( exception ); - } - - if ( StringUtils.isEmpty( targetListId ) ) { - check = false; - Exception exception = new TaskTransformException("需要复制到的目标任务列表ID不允许为空!"); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - sourceTask = taskQueryService.get( sourceTaskId ); - if ( sourceTask == null) { - check = false; - Exception exception = new TaskNotExistsException(sourceTaskId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定ID查询工作任务信息对象时发生异常。ID:" + sourceTaskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - targetTaskList = taskListQueryService.get( targetListId ); - if ( targetTaskList == null) { - check = false; - Exception exception = new TaskListNotExistsException(targetListId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException( e, "根据指定ID查询工作任务列表信息对象时发生异常。ID:" + targetListId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - Task newTask = new Task(); - TaskDetail newTaskDetail = new TaskDetail(); - TaskExtField newTaskExtField = new TaskExtField(); - if( Boolean.TRUE.equals( check ) ){ - //COPY对象 - sourceTask.copyTo( newTask ); - taskDetail.copyTo( newTaskDetail ); - taskExtField.copyTo( newTaskExtField ); - - //重新命名 - newTask.setName( sourceTask.getName() + " - 副本"); - - //调整ID - newTask.setId( Task.createId() ); - newTaskDetail.setId( newTask.getId() ); - newTaskExtField.setId( newTask.getId() ); - - try { - newTask = taskPersistService.save( newTask, newTaskDetail, newTaskExtField, effectivePerson ); - wo.setId( newTask.getId() ); - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "工作上级任务ID信息更新时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamics = dynamicPersistService.taskCopyDynamic( sourceTask, newTask, effectivePerson ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, newTask.getId(), newTask.getId(), "刷新文档权限:ID=" + sourceTask.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( ListTools.isNotEmpty( dynamics ) ) { - wo.setDynamics( WoDynamic.copier.copy( dynamics ) ); - } - - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskList.class ); - ApplicationCache.notify( TaskView.class ); - ApplicationCache.notify( Review.class ); - ApplicationCache.notify( TaskGroup.class ); - ApplicationCache.notify( Dynamic.class ); - - result.setData( wo ); - return result; - } - - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, ActionSave.WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionParticipantUpdate.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionParticipantUpdate.java deleted file mode 100644 index 904e536ba4d56129e03d5c3c28d61dede043673e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionParticipantUpdate.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.assemble.control.service.MessageFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskView; - -public class ActionParticipantUpdate extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionParticipantUpdate.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - Task task = null; - Wi wi = null; - Wo wo = new Wo(); - Boolean check = true; - List old_participants = null; - List new_participants = null; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - task = taskQueryService.get( id ); - if( task == null ) { - check = false; - Exception exception = new TaskNotExistsException( id ); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - old_participants = task.getParticipantList(); - new_participants = wi.getParticipantList(); - if( ListTools.isNotEmpty( wi.getParticipantList() ) ) { - try { - task = taskPersistService.addParticipants( id, new_participants ); - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskView.class ); - - wo.setId( task.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "工作任务信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - - if( Boolean.TRUE.equals( check ) ){ - List addParticipants = new ArrayList<>(); - List removeParticipants = new ArrayList<>(); - if( old_participants == null ) { old_participants = new ArrayList<>(); } - if( new_participants == null ) { old_participants = new ArrayList<>(); } - for( String participant : old_participants ) { - if( !new_participants.contains( participant )) { - removeParticipants.add( participant ); - } - } - for( String participant : new_participants ) { - if( !old_participants.contains( participant )) { - addParticipants.add( participant ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, task.getId(), task.getId(), "变更工作任务参与者,刷新文档权限:ID=" + task.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - MessageFactory.message_to_teamWorkUpdateParticipants( task, addParticipants ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - //记录工作任务信息变化记录 - try { - List dynamics = dynamicPersistService.taskParticipantsUpdateDynamic(task, addParticipants, removeParticipants, effectivePerson ); - if( dynamics == null ) { - dynamics = new ArrayList<>(); - } - wo.setDynamics( WoDynamic.copier.copy( dynamics )); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi { - - @FieldDescribe("参与者标识列表:可能是个人,可能是身份,也可能是组织和群组") - private List participantList; - - public List getParticipantList() { - return participantList; - } - - public void setParticipantList(List participantList) { - this.participantList = participantList; - } - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTaskViews.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTaskViews.java deleted file mode 100644 index df675aaa44e16e6ba9ae2b8d1e4dac396a6e256b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTaskViews.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskView; -import net.sf.ehcache.Element; - -public class ActionStatisticMyTaskViews extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionStatisticMyTaskViews.class ); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = new Wo(); - List taskGroupList = null; - List taskViewList = null; - List woGroupList = null; - List woViewList = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "ActionStatisticMyTaskViews", projectId, effectivePerson.getDistinguishedName() ); - Element element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = ( Wo ) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - //查询用户在该项目中所有的视图信息 - taskViewList = taskViewQueryService.listViewWithPersonAndProject( effectivePerson, projectId ); - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException( e, "查询用户在该项目中的所有视图信息列表时发生异常。" ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( taskGroupList )) { - woGroupList = WoTaskGroup.copier.copy( taskGroupList ); - SortTools.asc( woGroupList, "createTime"); - } - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( taskViewList )) { - woViewList = WoTaskView.copier.copy( taskViewList ); - SortTools.asc( woViewList, "createTime"); - } - } - - - if( Boolean.TRUE.equals( check ) ){ - try { - wo.setViews( woViewList ); - taskCache.put( new Element( cacheKey, wo) ); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskQueryException(e, "将查询出来的工作任务组和视图列表信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo{ - - @FieldDescribe("工作任务视图") - private List views = null; - - public List getViews() { - return views; - } - - public void setViews(List views) { - this.views = views; - } - } - - public static class WoTaskGroup extends TaskGroup{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); - static WrapCopier copier = WrapCopierFactory.wo( TaskGroup.class, WoTaskGroup.class, null, Excludes); - } - - public static class WoTaskView extends TaskView{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); - static WrapCopier copier = WrapCopierFactory.wo( TaskView.class, WoTaskView.class, null, Excludes); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTasks.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTasks.java deleted file mode 100644 index e32d97e0b4f98fbb916503185ea098696cf8c627..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionStatisticMyTasks.java +++ /dev/null @@ -1,165 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskView; - -import net.sf.ehcache.Element; - -public class ActionStatisticMyTasks extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionStatisticMyTasks.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = new Wo(); - List taskList = null; - List taskGroupList = null; - List taskViewList = null; - List woGroupList = null; - List woViewList = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "ActionStatisticMyTasks", projectId, effectivePerson.getDistinguishedName() ); - Element element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = ( Wo ) element.getObjectValue(); - result.setData( wo ); - } else { - Integer taskTotal = 0; - Integer completedTotal = 0; - Integer overtimeTotal = 0; - - if( Boolean.TRUE.equals( check ) ){ - try { - //查询用户在该项目中所有工作任务组信息,如果没有,则需要创建一个工作任务组,将所有的工作任务添加到该工作任务组中 - taskGroupList = taskGroupQueryService.listGroupByPersonAndProject( effectivePerson, projectId ); - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException( e, "查询用户在该项目中的所有工作任务组信息列表时发生异常。" ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - //查询用户在该项目中所有的视图信息 - taskViewList = taskViewQueryService.listViewWithPersonAndProject( effectivePerson, projectId ); - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException( e, "查询用户在该项目中的所有视图信息列表时发生异常。" ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - if ( check ) { - if( ListTools.isNotEmpty( taskGroupList )) { - woGroupList = WoTaskGroup.copier.copy( taskGroupList ); - } - if( ListTools.isNotEmpty( woGroupList )) { - for( WoTaskGroup woGroup : woGroupList ) { - taskTotal = 0; - completedTotal = 0; - overtimeTotal = 0; - taskList = taskQueryService.listTaskWithProjectAndPerson( woGroup.getProject(), effectivePerson ); - if( ListTools.isNotEmpty( taskList )) { - for( Task task : taskList ) { - taskTotal ++; - if( "completed".equalsIgnoreCase(task.getWorkStatus()) ) { - completedTotal++; - } - if( task.getOvertime() ) { - overtimeTotal++; - } - } - if( woGroup.getTaskTotal() != taskTotal || woGroup.getCompletedTotal() != completedTotal || woGroup.getOvertimeTotal() != overtimeTotal ) { - //如果数据不一致,就更新一下 - taskGroupPersistService.updateTaskTotal( woGroup.getId(), taskTotal, completedTotal, overtimeTotal ); - } - woGroup.setCompletedTotal(completedTotal); - woGroup.setOvertimeTotal(overtimeTotal); - woGroup.setTaskTotal(taskTotal); - } - //woGroup.setTaskTotal( taskQueryService.countWithTaskGroupId( woGroup.getId(), effectivePerson )); - } - } - } - - if ( check ) { - if( ListTools.isNotEmpty( taskViewList )) { - woViewList = WoTaskView.copier.copy( taskViewList ); - SortTools.asc( woViewList, "createTime"); - } - } - - if ( check ) { - try { - //SortTools.asc( woGroupList, "createTime"); - wo.setGroups( woGroupList ); - wo.setViews( woViewList ); - taskCache.put( new Element( cacheKey, wo) ); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskQueryException(e, "将查询出来的工作任务组和视图列表信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo{ - - @FieldDescribe("工作任务分组") - private List groups = null; - - @FieldDescribe("工作任务视图") - private List views = null; - - public List getGroups() { - return groups; - } - - public void setGroups(List groups) { - this.groups = groups; - } - - public List getViews() { - return views; - } - - public void setViews(List views) { - this.views = views; - } - } - - public static class WoTaskGroup extends TaskGroup{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); - static WrapCopier copier = WrapCopierFactory.wo( TaskGroup.class, WoTaskGroup.class, null, Excludes); - } - - public static class WoTaskView extends TaskView{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); - static WrapCopier copier = WrapCopierFactory.wo( TaskView.class, WoTaskView.class, null, Excludes); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionTransformAsSubTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionTransformAsSubTask.java deleted file mode 100644 index ca3aea1fd6195e80b96dcc2a1e63658447ef06d3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionTransformAsSubTask.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.*; -import org.apache.commons.lang3.StringUtils; - -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; - -/** - * 将任务转为子任务 - */ -public class ActionTransformAsSubTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionTransformAsSubTask.class); - - /** - * 将任务转换为子任务的服务 - * 1、确认ID是否合法 - * 2、将任务的parentId设置为parentId - * 3、保存任务信息 - * 4、记录动态信息 - * - * @param request - * @param effectivePerson - * @param sourceTaskId - * @param parentId - * @return - * @throws Exception - */ - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String sourceTaskId, String parentId ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = new Wo(); - Task sourceTask = null; - Task parentTask = null; - List dynamics = new ArrayList<>(); - Boolean check = true; - - if ( StringUtils.isEmpty( sourceTaskId ) ) { - check = false; - Exception exception = new TaskTransformException("需要转换的工作任务ID不允许为空!"); - result.error( exception ); - } - - if ( StringUtils.isEmpty( parentId ) ) { - check = false; - Exception exception = new TaskTransformException("上级任务ID不允许为空!"); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - //查询需要转换为子任务的任务是否存在 - try { - sourceTask = taskQueryService.get( sourceTaskId ); - if ( sourceTask == null) { - check = false; - Exception exception = new TaskNotExistsException(sourceTaskId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定ID查询工作任务信息对象时发生异常。sourceTaskId:" + sourceTaskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - //查询上级任务是否存在 - try { - parentTask = taskQueryService.get( parentId ); - if ( parentTask == null) { - check = false; - Exception exception = new TaskNotExistsException( parentId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "根据指定ID查询工作任务信息对象时发生异常。parentId:" + parentId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - try { - taskPersistService.updateParentId( sourceTask.getId(), parentTask.getId(), effectivePerson ); - wo.setId( sourceTask.getId() ); - } catch (Exception e) { - check = false; - Exception exception = new TaskPersistException(e, "工作上级任务ID信息更新时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - - if( Boolean.TRUE.equals( check ) ){ - //记录工作任务信息变化记录 - try { - dynamics = dynamicPersistService.subTaskTransformDynamic( sourceTask, parentTask, effectivePerson ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, sourceTask.getId(), sourceTask.getId(), "刷新文档权限:ID=" + sourceTask.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, parentTask.getId(), parentTask.getId(), "刷新文档权限:ID=" + parentTask.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - if( ListTools.isNotEmpty( dynamics ) ) { - wo.setDynamics( WoDynamic.copier.copy( dynamics ) ); - } - - // 更新缓存 - ApplicationCache.notify( Task.class ); - ApplicationCache.notify( TaskList.class ); - ApplicationCache.notify( TaskView.class ); - ApplicationCache.notify( Review.class ); - ApplicationCache.notify( TaskGroup.class ); - ApplicationCache.notify( Dynamic.class ); - - result.setData( wo ); - return result; - } - - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, ActionSave.WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewAllListPageWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewAllListPageWithFilter.java deleted file mode 100644 index 400125c0c4b293f21ad518aee6ccf0ab482ad97d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewAllListPageWithFilter.java +++ /dev/null @@ -1,374 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.gson.GsonPropertyObject; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.IsFalseTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -import net.sf.ehcache.Element; - -public class ActionViewAllListPageWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionViewAllListPageWithFilter.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, Integer pageNum, Integer pageSize, String projectId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = new ArrayList<>(); - ResultObject resultObject = null; - Wi wrapIn = null; - Boolean check = true; - String cacheKey = null; - Element element = null; - QueryFilter queryFilter = null; - List tags = null; - - if ( StringUtils.isEmpty( projectId ) ) { - check = false; - Exception exception = new TaskProjectFlagForQueryEmptyException(); - result.error( exception ); - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - if( Boolean.TRUE.equals( check ) ){ - wrapIn.setProject(projectId); - queryFilter = wrapIn.getQueryFilter(); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionAllListPage", effectivePerson.getDistinguishedName(), - pageNum, pageSize, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter.getContentSHA1() ); - element = taskCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - - Long total = taskQueryService.countWithFilter( effectivePerson, queryFilter ); - List taskList = taskQueryService.listWithFilter( effectivePerson, pageSize, pageNum, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( taskList )) { - wos = Wo.copier.copy(taskList); - for( Wo wo : wos ) { - tags = taskTagQueryService.listWithTaskAndPerson(effectivePerson, wo ); - if( ListTools.isNotEmpty( tags )) { - wo.setTags( WoTaskTag.copier.copy( tags )); - } - } - } - - resultObject = new ResultObject( total, wos ); - taskCache.put(new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wi extends GsonPropertyObject{ - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("用于搜索的标题,单值,非必填.") - private String title = null; - - private String project = null; - - @FieldDescribe("用于搜索的上级工作任务ID,单值,非必填.") - private String parentId = null; - - @FieldDescribe("用于搜索的工作标签:自定义标签,单值,非必填.") - private String tag = null; - - @FieldDescribe("工作等级:普通-normal | 紧急-urgent | 特急-extraurgent,单值,非必填") - private String priority = null; - - @FieldDescribe("用于搜索的工作状态:草稿- draft | 执行中- processing | 已完成- completed | 已归档- archived,单值,非必填") - private String workStatus = null; - - @FieldDescribe("是否已完成,true|false,非必填") - private String completed = null; - - @FieldDescribe("是否已超时,true|false,非必填") - private String overtime = null; - - @FieldDescribe("是否已经删除,true|false,非必填") - private String deleted = null; - - @FieldDescribe("执行者或者负责人,单值,非必填") - private String executor = null; - - private Long rank = 0L; - - public String getOrderField() { - return orderField; - } - - public void setOrderField(String orderField) { - this.orderField = orderField; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getParentId() { - return parentId; - } - - public void setParentId(String parentId) { - this.parentId = parentId; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } - - public String getWorkStatus() { - return workStatus; - } - - public void setWorkStatus(String workStatus) { - this.workStatus = workStatus; - } - - public String getCompleted() { - return completed; - } - - public void setCompleted(String completed) { - this.completed = completed; - } - - public String getOvertime() { - return overtime; - } - - public void setOvertime(String overtime) { - this.overtime = overtime; - } - - public String getDeleted() { - return deleted; - } - - public void setDeleted(String deleted) { - this.deleted = deleted; - } - - public String getExecutor() { - return executor; - } - - public void setExecutor(String executor) { - this.executor = executor; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getTitle() )) { - queryFilter.addLikeTerm( new LikeTerm( "name", "%" + this.getTitle() + "%" ) ); - } - if( StringUtils.isNotEmpty( this.getProject() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "project", this.getProject() ) ); - } - if( StringUtils.isNotEmpty( this.getParentId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "parent", this.getParentId() ) ); - } - if( StringUtils.isNotEmpty( this.getPriority())) { - queryFilter.addEqualsTerm( new EqualsTerm( "priority", this.getPriority() ) ); - } - if( StringUtils.isNotEmpty( this.getWorkStatus() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "workStatus", this.getWorkStatus() ) ); - }else { - //默认查询所有的未归档的工作任务 - queryFilter.addIsFalseTerm( new IsFalseTerm("archive")); - } - if( StringUtils.isNotEmpty( this.getExecutor())) { - queryFilter.addEqualsTerm( new EqualsTerm( "executor", this.getExecutor() ) ); - } - if( StringUtils.isNotEmpty( this.getCompleted() )) { - if( "true".equalsIgnoreCase( this.getCompleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getDeleted() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getOvertime() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", false ) ); - } - } - return queryFilter; - } - } - - public static class Wo extends Task { - - @FieldDescribe("任务标签") - private List tags = null; - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Task.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class WoTaskTag extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, WoTaskTag.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewMyExecutListPageWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewMyExecutListPageWithFilter.java deleted file mode 100644 index 7485ae1cceb805dceb16f6a849edfbd216129997..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/ActionViewMyExecutListPageWithFilter.java +++ /dev/null @@ -1,374 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.gson.GsonPropertyObject; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.IsFalseTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -import net.sf.ehcache.Element; - -public class ActionViewMyExecutListPageWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionViewMyExecutListPageWithFilter.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, Integer pageNum, Integer pageSize, String projectId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = new ArrayList<>(); - ResultObject resultObject = null; - Wi wrapIn = null; - Boolean check = true; - String cacheKey = null; - Element element = null; - QueryFilter queryFilter = null; - List tags = null; - - if ( StringUtils.isEmpty( projectId ) ) { - check = false; - Exception exception = new TaskProjectFlagForQueryEmptyException(); - result.error( exception ); - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new TaskQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - if( Boolean.TRUE.equals( check ) ){ - wrapIn.setProject(projectId); - queryFilter = wrapIn.getQueryFilter(); - queryFilter.addEqualsTerm( new EqualsTerm( "executor", effectivePerson.getDistinguishedName() ) ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionMyExecutListPage", effectivePerson.getDistinguishedName(), - pageNum, pageSize, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter.getContentSHA1() ); - element = taskCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - - Long total = taskQueryService.countWithFilter( effectivePerson, queryFilter ); - List taskList = taskQueryService.listWithFilter( effectivePerson, pageSize, pageNum, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( taskList )) { - wos = Wo.copier.copy(taskList); - for( Wo wo : wos ) { - tags = taskTagQueryService.listWithTaskAndPerson(effectivePerson, wo ); - if( ListTools.isNotEmpty( tags )) { - wo.setTags( WoTaskTag.copier.copy( tags )); - } - } - } - - resultObject = new ResultObject( total, wos ); - taskCache.put(new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wi extends GsonPropertyObject{ - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("用于搜索的标题,单值,非必填.") - private String title = null; - - private String project = null; - - @FieldDescribe("用于搜索的上级工作任务ID,单值,非必填.") - private String parentId = null; - - @FieldDescribe("用于搜索的工作标签:自定义标签,单值,非必填.") - private String tag = null; - - @FieldDescribe("工作等级:普通-normal | 紧急-urgent | 特急-extraurgent,单值,非必填") - private String priority = null; - - @FieldDescribe("用于搜索的工作状态:草稿- draft | 执行中- processing | 已完成- completed | 已归档- archived,单值,非必填") - private String workStatus = null; - - @FieldDescribe("是否已完成,true|false,非必填") - private String completed = null; - - @FieldDescribe("是否已超时,true|false,非必填") - private String overtime = null; - - @FieldDescribe("是否已经删除,true|false,非必填") - private String deleted = null; - - private String executor = null; - - private Long rank = 0L; - - public String getOrderField() { - return orderField; - } - - public void setOrderField(String orderField) { - this.orderField = orderField; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getParentId() { - return parentId; - } - - public void setParentId(String parentId) { - this.parentId = parentId; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } - - public String getWorkStatus() { - return workStatus; - } - - public void setWorkStatus(String workStatus) { - this.workStatus = workStatus; - } - - public String getCompleted() { - return completed; - } - - public void setCompleted(String completed) { - this.completed = completed; - } - - public String getOvertime() { - return overtime; - } - - public void setOvertime(String overtime) { - this.overtime = overtime; - } - - public String getDeleted() { - return deleted; - } - - public void setDeleted(String deleted) { - this.deleted = deleted; - } - - public String getExecutor() { - return executor; - } - - public void setExecutor(String executor) { - this.executor = executor; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getTitle() )) { - queryFilter.addLikeTerm( new LikeTerm( "name", "%" + this.getTitle() + "%" ) ); - } - if( StringUtils.isNotEmpty( this.getProject() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "project", this.getProject() ) ); - } - if( StringUtils.isNotEmpty( this.getParentId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "parent", this.getParentId() ) ); - } - if( StringUtils.isNotEmpty( this.getPriority())) { - queryFilter.addEqualsTerm( new EqualsTerm( "priority", this.getPriority() ) ); - } - if( StringUtils.isNotEmpty( this.getWorkStatus() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "workStatus", this.getWorkStatus() ) ); - }else { - //默认查询所有的未归档的工作任务 - queryFilter.addIsFalseTerm( new IsFalseTerm("archive")); - } - if( StringUtils.isNotEmpty( this.getExecutor())) { - queryFilter.addEqualsTerm( new EqualsTerm( "executor", this.getExecutor() ) ); - } - if( StringUtils.isNotEmpty( this.getCompleted() )) { - if( "true".equalsIgnoreCase( this.getCompleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getDeleted() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getOvertime() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", false ) ); - } - } - return queryFilter; - } - } - - public static class Wo extends Task { - - @FieldDescribe("任务标签") - private List tags = null; - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Task.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class WoTaskTag extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, WoTaskTag.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskAction.java deleted file mode 100644 index b98c0a33c42ce496ff98a6f2af6ccdc1ef89c4c5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskAction.java +++ /dev/null @@ -1,447 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("task") -@JaxrsDescribe("工作任务信息管理") -public class TaskAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskAction.class); - - @JaxrsMethodDescribe(value = "根据ID查询工作任务信息.", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID归档指定工作任务.", action = ActionArchive.class) - @GET - @Path("archive/{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void archive(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionArchive().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询我的项目首页中工作任务组和视图信息.", action = ActionStatisticMyTasks.class) - @GET - @Path("statitic/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void statiticMyProject(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam("projectId") String projectId ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionStatisticMyTasks().execute( request, effectivePerson, projectId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "将指定的工作转换为子工作.", action = ActionTransformAsSubTask.class) - @GET - @Path("transform/{tid}/parent/{pid}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void transformAsSubTask(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("指定任务ID") @PathParam("tid") String tid, - @JaxrsParameterDescribe("上级任务ID") @PathParam("pid") String pid) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionTransformAsSubTask().execute( request, effectivePerson, tid, pid ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "复制指定的工作为新的工作.", action = ActionCopyTask.class) - @GET - @Path("copy/{tid}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void copyTask(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("指定任务ID") @PathParam("tid") String tid) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionCopyTask().execute( request, effectivePerson, tid ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询我的项目首页中工作任务视图信息.", action = ActionStatisticMyTaskViews.class) - @GET - @Path("statitic/group/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void statiticMyProjectGroup(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam("projectId") String projectId ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionStatisticMyTaskViews().execute( request, effectivePerson, projectId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示指定项目的指定工作列表内我负责的工作任务信息.", action = ActionListMyTaskWithTaskList.class) - @GET - @Path("list/project/{projectId}/tasklist/{taskListId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listMyTaskWithTaskListId(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam( "taskListId" ) String taskListId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListMyTaskWithTaskList().execute(request, effectivePerson, projectId, taskListId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示指定项目的指定工作列表内的工作任务信息(只要可见的都显示出来).", action = ActionListWithTaskList.class) - @GET - @Path("list/project/{projectId}/tasklist/{taskListId}/all") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listAllTaskWithTaskListId(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("工作任务列表ID") @PathParam( "taskListId" ) String taskListId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithTaskList().execute(request, effectivePerson, projectId, taskListId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示用户可见的指定任务的下级任务信息列表.", action = ActionListSubTaskWithTaskId.class) - @GET - @Path("list/sub/{taskId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listSubTaskWithTaskId(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务ID") @PathParam( "taskId" ) String taskId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListSubTaskWithTaskId().execute(request, effectivePerson, taskId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示工作任务信息,按页码分页.", action = ActionListPageWithFilter.class) - @PUT - @Path("list/{page}/size/{size}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listPageWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "page" ) Integer page, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "size" ) Integer size, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListPageWithFilter().execute(request, effectivePerson, page, size, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示工作任务信息,下一页.", action = ActionListNextWithFilter.class) - @PUT - @Path("list/{id}/next/{count}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithFilter().execute(request, effectivePerson, id, count, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建或者更新一个工作任务信息.", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的工作任务信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "更新一个工作任务指定的单个属性信息内容.", action = ActionUpdateSingleProperty.class) - @Path("{id}/property") - @PUT - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void updateSingleProperty(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务信息ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("需要保存的工作任务信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionUpdateSingleProperty().execute( request, effectivePerson, id, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除工作任务信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "为工作任务信息添加新的管理者.", action = ActionManagerUpdate.class) - @PUT - @Path("manager/{id}/update") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void updateManager(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务信息ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("需要添加的管理者标识列表") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionManagerUpdate().execute(request, effectivePerson, id, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "为工作任务信息添加新的参与者.", action = ActionParticipantUpdate.class) - @PUT - @Path("participant/{id}/update") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void updateParticipant(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务信息ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("需要添加的参与者标识列表") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionParticipantUpdate().execute(request, effectivePerson, id, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示(视图)当前项目所有工作任务信息,下一页.", action = ActionViewAllListNextWithFilter.class) - @PUT - @Path("listall/{id}/next/{count}/projectId/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listAllTaskNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("当前项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionViewAllListNextWithFilter().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示(视图)当前项目我负责的工作任务信息,下一页.", action = ActionViewMyExecutListNextWithFilter.class) - @PUT - @Path("listmyexecut/{id}/next/{count}/projectId/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listMyExecutTaskNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("当前项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionViewMyExecutListNextWithFilter().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示(视图)当前项目未完成的工作任务信息,下一页.", action = ActionViewUncompletedListNextWithFilter.class) - @PUT - @Path("listuncompleted/{id}/next/{count}/projectId/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listUncompletedTaskNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("当前项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionViewUncompletedListNextWithFilter().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示(视图)当前项目已完成的工作任务信息,下一页.", action = ActionViewCompletedListNextWithFilter.class) - @PUT - @Path("listcompleted/{id}/next/{count}/projectId/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listCompletedTaskNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("当前项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionViewCompletedListNextWithFilter().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示(视图)当前项目逾期的工作任务信息,下一页.", action = ActionViewOverTimeListNextWithFilter.class) - @PUT - @Path("listovertime/{id}/next/{count}/projectId/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listOverTimeTaskNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("最后一条信息数据的ID") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("当前项目ID") @PathParam( "projectId" ) String projectId, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionViewOverTimeListNextWithFilter().execute(request, effectivePerson, id, count, projectId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskFlagForQueryEmptyException.java deleted file mode 100644 index 5929d01d3cf842788b5292145e4442298bc316a3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskFlagForQueryEmptyException() { - super("查询的工作任务信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupIdAndProjectEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupIdAndProjectEmptyException.java deleted file mode 100644 index f3b43c74f39900f9ce2c2b6303dbf2caf54e48dc..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupIdAndProjectEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupIdAndProjectEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupIdAndProjectEmptyException() { - super("保存的工作任务信息时项目ID和工作任务组ID不能全部为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupNotExistsException.java deleted file mode 100644 index 9f0bb77e3fb3d2ab493fa2d490a7535be4e554e5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupNotExistsException( String id ) { - super("指定ID的工作任务组信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupWithProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupWithProjectNotExistsException.java deleted file mode 100644 index 7a16e39cdb3fe766ac1584a48af4f45f016d3d00..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskGroupWithProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupWithProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupWithProjectNotExistsException( String id ) { - super("指定项目的工作任务组信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListIdForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListIdForQueryEmptyException.java deleted file mode 100644 index 0dff86c20e46394a22dcbbb6f27b211ac7757324..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListIdForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskListIdForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListIdForQueryEmptyException() { - super("查询的工作任务信息的工作任务列表ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListNotExistsException.java deleted file mode 100644 index ed87ca46af2eab17ee5a3e73dcdadf3d8d4b64f3..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskListNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskListNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListNotExistsException(String id ) { - super("指定ID的工作任务列表信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskNotExistsException.java deleted file mode 100644 index f2a56cc80367d07a92c1cb82d48ed9bbe952e0b8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskNotExistsException( String id ) { - super("指定ID的工作任务信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskPersistException.java deleted file mode 100644 index 59c399d2f7afaa96d7a9db65d8af19bdd50d8acc..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskPersistException( Throwable e ) { - super("系统在保存工作任务信息时发生异常。" , e ); - } - - TaskPersistException( Throwable e, String message ) { - super("系统在保存工作任务信息时发生异常。Message:" + message, e ); - } - - TaskPersistException( String message ) { - super("系统在保存工作任务信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskProjectFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskProjectFlagForQueryEmptyException.java deleted file mode 100644 index b2ed0b8aeab4455ec82fcd25b71b8575d410056e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskProjectFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskProjectFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskProjectFlagForQueryEmptyException() { - super("项目ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskQueryException.java deleted file mode 100644 index 0e08f94fd37a0d7a775ffdd7a8ab4f7bfded2d6a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskQueryException( Throwable e ) { - super("系统在查询工作任务信息时发生异常。" , e ); - } - - TaskQueryException( Throwable e, String message ) { - super("系统在查询工作任务信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTagNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTagNotExistsException.java deleted file mode 100644 index f3650fb053f83706db89b7f1dad65c9431854353..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTagNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskTagNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTagNotExistsException( String id ) { - super("指定ID的工作任务标签信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTransformException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTransformException.java deleted file mode 100644 index 563075db752cdffbe10e803af80c26ed205ec4da..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/TaskTransformException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.exception.PromptException; - -class TaskTransformException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTransformException(Throwable e ) { - super("系统在转换工作任务为子任务时发生异常。" , e ); - } - - TaskTransformException(Throwable e, String message ) { - super("系统在转换工作任务为子任务时发生异常。Message:" + message, e ); - } - - TaskTransformException(String message ) { - super("系统在转换工作任务为子任务时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInQueryTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInQueryTask.java deleted file mode 100644 index a338ef0adcb0bb413f31663b77f866d7aa66912b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInQueryTask.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.IsFalseTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -public class WrapInQueryTask { - - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("用于搜索的标题,单值,非必填.") - private String title = null; - - @FieldDescribe("用于搜索的项目ID,单值,非必填.") - private String project = null; - - @FieldDescribe("用于搜索的上级工作任务ID,单值,非必填.") - private String parentId = null; - - @FieldDescribe("用于搜索的工作标签:自定义标签,单值,非必填.") - private String tag = null; - - @FieldDescribe("工作等级:普通-normal | 紧急-urgent | 特急-extraurgent,单值,非必填") - private String priority = null; - - @FieldDescribe("用于搜索的工作状态:草稿- draft | 执行中- processing | 已完成- completed | 已归档- archived,单值,非必填") - private String workStatus = null; - - @FieldDescribe("是否已完成,true|false,非必填") - private String completed = null; - - @FieldDescribe("是否已超时,true|false,非必填") - private String overtime = null; - - @FieldDescribe("是否已经删除,true|false,非必填") - private String deleted = null; - - @FieldDescribe("执行者或者负责人,单值,非必填") - private String executor = null; - - private Long rank = 0L; - - public String getOrderField() { - return orderField; - } - - public void setOrderField(String orderField) { - this.orderField = orderField; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getParentId() { - return parentId; - } - - public void setParentId(String parentId) { - this.parentId = parentId; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } - - public String getWorkStatus() { - return workStatus; - } - - public void setWorkStatus(String workStatus) { - this.workStatus = workStatus; - } - - public String getCompleted() { - return completed; - } - - public void setCompleted(String completed) { - this.completed = completed; - } - - public String getOvertime() { - return overtime; - } - - public void setOvertime(String overtime) { - this.overtime = overtime; - } - - public String getDeleted() { - return deleted; - } - - public void setDeleted(String deleted) { - this.deleted = deleted; - } - - public String getExecutor() { - return executor; - } - - public void setExecutor(String executor) { - this.executor = executor; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getTitle() )) { - queryFilter.addLikeTerm( new LikeTerm( "name", "%" + this.getTitle() + "%" ) ); - } - if( StringUtils.isNotEmpty( this.getProject() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "project", this.getProject() ) ); - } - if( StringUtils.isNotEmpty( this.getParentId() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "parent", this.getParentId() ) ); - } - if( StringUtils.isNotEmpty( this.getPriority())) { - queryFilter.addEqualsTerm( new EqualsTerm( "priority", this.getPriority() ) ); - } - if( StringUtils.isNotEmpty( this.getWorkStatus() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "workStatus", this.getWorkStatus() ) ); - }else { - //默认查询所有的未归档的工作任务 - queryFilter.addIsFalseTerm( new IsFalseTerm("archive")); - } - if( StringUtils.isNotEmpty( this.getExecutor())) { - queryFilter.addEqualsTerm( new EqualsTerm( "executor", this.getExecutor() ) ); - } - if( StringUtils.isNotEmpty( this.getCompleted() )) { - if( "true".equalsIgnoreCase( this.getCompleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "completed", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getDeleted() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", false ) ); - } - } - if( StringUtils.isNotEmpty( this.getOvertime() )) { - if( "true".equalsIgnoreCase( this.getDeleted() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", true ) ); - }else { - queryFilter.addEqualsTerm( new EqualsTerm( "overtime", false ) ); - } - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInTask.java deleted file mode 100644 index 62956c1f18a33c188d3b8ca916f02f2eedc75e7f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapInTask.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import com.x.teamwork.core.entity.Task; - -public class WrapInTask extends Task{ - private static final long serialVersionUID = -5076990764713538973L; - public static List Excludes = new ArrayList(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutControl.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutControl.java deleted file mode 100644 index c2a77b4ddde2353008e7470426dbbe19a0a59388..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutControl.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import com.x.base.core.project.annotation.FieldDescribe; - -public class WrapOutControl { - - @FieldDescribe("是否可删除") - private Boolean delete = false; - - @FieldDescribe("是否可编辑") - private Boolean edit = false; - - @FieldDescribe("是否可排序") - private Boolean sortable = true; - - @FieldDescribe("是否可变更负责人") - private Boolean changeExecutor = false; - - @FieldDescribe("是否创始人") - private Boolean founder = false; - - public Boolean getDelete() { - return delete; - } - - public void setDelete(Boolean delete) { - this.delete = delete; - } - - public Boolean getEdit() { - return edit; - } - - public void setEdit(Boolean edit) { - this.edit = edit; - } - - public Boolean getSortable() { - return sortable; - } - - public void setSortable(Boolean sortable) { - this.sortable = sortable; - } - - - public Boolean getChangeExecutor() { - return changeExecutor; - } - - public void setChangeExecutor(Boolean changeExecutor) { - this.changeExecutor = changeExecutor; - } - - public Boolean getFounder() { - return founder; - } - - public void setFounder(Boolean founder) { - this.founder = founder; - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutTask.java deleted file mode 100644 index 8d9482379ec42378029c0eada565fe863b69d6c1..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/task/WrapOutTask.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.task; - -import java.util.ArrayList; -import java.util.List; - -import com.x.teamwork.core.entity.Task; - -public class WrapOutTask extends Task{ - private static final long serialVersionUID = -8184372271225462238L; - public static List Excludes = new ArrayList(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionDelete.java deleted file mode 100644 index 771252cf73cb9872e9f3f43bd4c48663c6bc702f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionDelete.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - TaskListTemplate taskListTemplate = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new TaskListTemplateFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListTemplate = taskListTemplateQueryService.get(flag); - if ( taskListTemplate == null) { - check = false; - Exception exception = new TaskListTemplateNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplateQueryException(e, "根据指定flag查询项目模板对应的泳道信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskListTemplatePersistService.delete(flag, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( ProjectTemplate.class ); - ApplicationCache.notify( TaskListTemplate.class ); - - wo.setId( taskListTemplate.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplateQueryException(e, "根据指定flag删除项目模板对应的泳道信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionGet.java deleted file mode 100644 index ae89c4c4907c33ec444579ad0953dc37076ae901..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionGet.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - TaskListTemplate taskListTemplate = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskListTemplateFlagForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( id ,effectivePerson); - Element element = taskListTemplateCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskListTemplate = taskListTemplateQueryService.get( id ); - if ( taskListTemplate == null) { - check = false; - Exception exception = new TaskListTemplateNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplateQueryException(e, "根据指定flag查询项目模板对应的泳道信息对象时发生异常。id:" + id ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wo = Wo.copier.copy( taskListTemplate ); - taskListTemplateCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskListTemplateQueryException(e, "将查询出来的项目模板对应的泳道信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskListTemplate { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskListTemplate.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionListWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionListWithFilter.java deleted file mode 100644 index 0ca830d395f01a291a7cfd77502d7090af8e0c72..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionListWithFilter.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.codec.digest.DigestUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.ProjectGroup; - -import net.sf.ehcache.Element; - -public class ActionListWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithFilter.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List projectGroups = null; - List wos = null; - Wi wi = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplateQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - String cacheKey = ApplicationCache.concreteCacheKey( getStringListHeyx( wi.getIds()) ); - /*Element element = projectGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - projectGroups = projectGroupQueryService.list( wi.getIds() ); - } catch (Exception e) { - check = false; - Exception exception = new ProjectTemplateQueryException(e, "系统通过指定的ID列表查询项目组信息列表时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( projectGroups )) { - wos = Wo.copier.copy( projectGroups ); - SortTools.asc( wos, "createTime"); - projectGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } - }*/ - return result; - } - - public static class Wi { - - @FieldDescribe("项目组ID列表") - private List ids; - - public List getIds() { - return ids; - } - - public void setIds(List ids) { - this.ids = ids; - } - } - - public static class Wo extends ProjectGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( ProjectGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - private String getStringListHeyx( List list ) { - StringBuffer content = new StringBuffer(); - if( ListTools.isNotEmpty( list )) { - SortTools.asc( list ); - for( String str : list ) { - content.append( str ); - } - return DigestUtils.sha1Hex(content.toString() ); - } - return "null"; - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionSave.java deleted file mode 100644 index 1d5dad3204042bb42c6fa533e2dee0c0fcf15deb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/ActionSave.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionSave.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskListTemplate template = null; - TaskListTemplate old_template = null; - Wi wi = null; - Wo wo = new Wo(); - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplatePersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - - if( Boolean.TRUE.equals( check ) ){ - old_template = taskListTemplateQueryService.get( wi.getId() ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - template = taskListTemplatePersistService.save( Wi.copier.copy(wi), effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( ProjectTemplate.class ); - ApplicationCache.notify( TaskListTemplate.class ); - - wo.setId( template.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskListTemplatePersistException(e, "项目信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - new BatchOperationPersistService().addOperation( - BatchOperationProcessService.OPT_OBJ_PROJECT, - BatchOperationProcessService.OPT_TYPE_PERMISSION, template.getId(), template.getId(), "刷新文档权限:ID=" + template.getId() ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - - result.setData( wo ); - return result; - } - - public static class Wi { - - @FieldDescribe("数据库主键,自动生成,非必填.") - private String id; - - @FieldDescribe("工作任务列表(泳道)名称") - private String name; - - @FieldDescribe("所属模板ID.") - private String projectTemplate; - - @FieldDescribe("排序号,非必填") - private Integer order; - - @FieldDescribe("列表描述,非必填") - private String memo; - - @FieldDescribe("创建者,非必填") - private String creatorPerson = null; - - private Boolean deleted = false; - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, TaskListTemplate.class, null, null ); - - private String owner = null; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getProjectTemplate() { - return projectTemplate; - } - - public void setProjectTemplate(String projectTemplate) { - this.projectTemplate = projectTemplate; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Integer getOrder() { - return order; - } - - public void setOrder(Integer order) { - this.order = order; - } - - public String getMemo() { - return memo; - } - - public void setMemo(String memo) { - this.memo = memo; - } - - public String getCreatorPerson() { - return creatorPerson; - } - - public void setCreatorPerson(String creatorPerson) { - this.creatorPerson = creatorPerson; - } - - public String getOwner() { - return owner; - } - - public void setOwner(String owner) { - this.owner = owner; - } - public Boolean getDeleted() { - return deleted; - } - - public void setDeleted(Boolean deleted) { - this.deleted = deleted; - } - - } - -public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/BaseAction.java deleted file mode 100644 index f6cbc03607dcba4d4a053412cbae9157327441ed..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/BaseAction.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.assemble.control.service.TaskListTemplatePersistService; -import com.x.teamwork.assemble.control.service.TaskListTemplateQueryService; -import com.x.teamwork.core.entity.TaskListTemplate; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache taskListTemplateCache = ApplicationCache.instance().getCache( TaskListTemplate.class ); - - protected TaskListTemplateQueryService taskListTemplateQueryService = new TaskListTemplateQueryService(); - - protected TaskListTemplatePersistService taskListTemplatePersistService = new TaskListTemplatePersistService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateAction.java deleted file mode 100644 index b266ec93981b34314b86bf7ef6bc8a6d116f046d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateAction.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("taskListTemplate") -@JaxrsDescribe("项目模板对应的泳道信息管理") -public class TaskListTemplateAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskListTemplateAction.class); - - @JaxrsMethodDescribe(value = "根据ID查询项目模板对应的泳道信息.", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目组ID") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建或者更新一个项目模板对应的泳道信息.", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的项目模板对应的泳道信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除项目模板对应的泳道信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateFlagForQueryEmptyException.java deleted file mode 100644 index 5763a79aa4284f8dc49138f2c150c1f294200b46..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import com.x.base.core.project.exception.PromptException; - -class TaskListTemplateFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListTemplateFlagForQueryEmptyException() { - super("查询的项目模板对应的泳道信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateNotExistsException.java deleted file mode 100644 index 012fbb562a44bb6be410065dd0c0f5a80fe4ecea..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import com.x.base.core.project.exception.PromptException; - -class TaskListTemplateNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListTemplateNotExistsException( String id ) { - super("指定ID的项目模板对应的泳道信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplatePersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplatePersistException.java deleted file mode 100644 index 983bf869e9b04d0dcfdad077a4047dcb09137e59..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplatePersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import com.x.base.core.project.exception.PromptException; - -class TaskListTemplatePersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListTemplatePersistException( Throwable e ) { - super("系统在保存项目模板对应的泳道信息时发生异常。" , e ); - } - - TaskListTemplatePersistException( Throwable e, String message ) { - super("系统在保存项目模板对应的泳道信息时发生异常。Message:" + message, e ); - } - - TaskListTemplatePersistException( String message ) { - super("系统在保存项目模板对应的泳道信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateQueryException.java deleted file mode 100644 index 0e4909da9504d67e44a7b6b1714487e18daaad7b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskListTemplate/TaskListTemplateQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskListTemplate; - -import com.x.base.core.project.exception.PromptException; - -class TaskListTemplateQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskListTemplateQueryException( Throwable e ) { - super("系统在查询项目模板对应的泳道信息时发生异常。" , e ); - } - - TaskListTemplateQueryException( Throwable e, String message ) { - super("系统在查询项目模板对应的泳道信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionDelete.java deleted file mode 100644 index c94577becac8d4f799b87ecb0bb1e886b0e2faea..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionDelete.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.TaskGroup; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String flag) throws Exception { - ActionResult result = new ActionResult<>(); - TaskGroup taskGroup = null; - Boolean check = true; - - if ( StringUtils.isEmpty( flag ) ) { - check = false; - Exception exception = new TaskGroupFlagForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroup = taskGroupQueryService.get(flag); - if ( taskGroup == null) { - check = false; - Exception exception = new TaskGroupNotExistsException(flag); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "根据指定flag查询工作任务信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroupPersistService.delete(flag, effectivePerson ); - // 更新缓存 - ApplicationCache.notify( Project.class ); - ApplicationCache.notify( TaskGroup.class ); - - Wo wo = new Wo(); - wo.setId( taskGroup.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "根据指定flag删除工作任务信息对象时发生异常。flag:" + flag); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wo extends WoId { - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionGet.java deleted file mode 100644 index 8d5fd41a356b3dabd62e8d52147948257b848ddb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionGet.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskGroup; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - TaskGroup taskGroup = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskGroupFlagForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( id ); - Element element = taskGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroup = taskGroupQueryService.get( id ); - if ( taskGroup == null) { - check = false; - Exception exception = new TaskGroupNotExistsException( id ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "根据指定flag查询工作任务组信息对象时发生异常。id:" + id ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wo = Wo.copier.copy( taskGroup ); - taskGroupCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskGroupQueryException(e, "将查询出来的工作任务组信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionList.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionList.java deleted file mode 100644 index ab11561419bfde0ca389de7e15b834857150fc14..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionList.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.TaskGroup; - -import net.sf.ehcache.Element; - -public class ActionList extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionList.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = null; - List taskGroups = null; - Project project = null; - Boolean check = true; - - String cacheKey = ApplicationCache.concreteCacheKey( "ActionList.taskgroup", projectId, effectivePerson.getDistinguishedName() ); - Element element = taskGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get( projectId ); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException( projectId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "根据指定ID查询应用项目信息对象时发生异常。ID:" + project); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroups = taskGroupQueryService.listGroupByPersonAndProject(effectivePerson, projectId ); - if( ListTools.isNotEmpty( taskGroups )) { - wos = Wo.copier.copy( taskGroups ); - - SortTools.asc( wos, "createTime"); - - taskGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "根据用户拥有的工作任务组信息列表时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskGroup { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionListWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionListWithFilter.java deleted file mode 100644 index 875cb02ec9fc18d43dcd6cdfa8ad4ebb4483ff2d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionListWithFilter.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.codec.digest.DigestUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.TaskGroup; - -import net.sf.ehcache.Element; - -public class ActionListWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithFilter.class); - - @SuppressWarnings("unchecked") - protected ActionResult> execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List taskGroups = null; - List wos = null; - Wi wi = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - String cacheKey = ApplicationCache.concreteCacheKey( "ActionListWithFilter.taskgroup", getStringListHeyx( wi.getIds()) ); - Element element = taskGroupCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wos = (List) element.getObjectValue(); - result.setData( wos ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroups = taskGroupQueryService.list( wi.getIds() ); - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupQueryException(e, "系统通过指定的ID列表查询工作任务组信息列表时发生异常。JSON:" + jsonElement.toString() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( taskGroups )) { - wos = Wo.copier.copy( taskGroups ); - SortTools.asc( wos, "createTime"); - taskGroupCache.put(new Element(cacheKey, wos)); - result.setData(wos); - } - } - } - return result; - } - - public static class Wi { - - @FieldDescribe("工作任务组ID列表") - private List ids; - - public List getIds() { - return ids; - } - - public void setIds(List ids) { - this.ids = ids; - } - } - - public static class Wo extends TaskGroup { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskGroup.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - private String getStringListHeyx( List list ) { - StringBuffer content = new StringBuffer(); - if( ListTools.isNotEmpty( list )) { - SortTools.asc( list ); - for( String str : list ) { - content.append( str ); - } - return DigestUtils.sha1Hex(content.toString() ); - } - return "null"; - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionSave.java deleted file mode 100644 index 7ecc12ec5432ddd0bab53e82cb966361ae8db34d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ActionSave.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionSave.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskGroup taskGroup = null; - Wi wi = null; - Project project = null; - Boolean check = true; - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get( wi.getProject() ); - if( project == null ) { - check = false; - Exception exception = new TaskGroupPersistException( "指定的项目信息不存在!projectID:" + wi.getProject() ); - result.error(exception); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupPersistException(e, "根据指定ID查询工作任务组信息对象时发生异常.projectID:" + wi.getProject() ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskGroup = taskGroupPersistService.save( wi, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( Project.class ); - ApplicationCache.notify( TaskGroup.class ); - ApplicationCache.notify( Task.class, ApplicationCache.concreteCacheKey( "ActionStatisticMyTasks", project.getId(), effectivePerson.getDistinguishedName() ) ); - ApplicationCache.notify( Task.class, ApplicationCache.concreteCacheKey( "ActionStatisticMyProjectsGroups", project.getId(), effectivePerson.getDistinguishedName() ) ); - - Wo wo = new Wo(); - wo.setId( taskGroup.getId() ); - result.setData( wo ); - } catch (Exception e) { - check = false; - Exception exception = new TaskGroupPersistException(e, "工作任务信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - return result; - } - - public static class Wi extends TaskGroup { - private static final long serialVersionUID = -6314932919066148113L; - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, TaskGroup.class, null, null ); - - @FieldDescribe("说明信息") - private String description; - - @FieldDescribe("图标icon Base64编码后的文本.") - private String icon; - - @FieldDescribe("图标主色调.") - private String iconColor; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - public String getIconColor() { - return iconColor; - } - - public void setIconColor(String iconColor) { - this.iconColor = iconColor; - } - } - - public static class Wo extends WoId { - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/BaseAction.java deleted file mode 100644 index 6b46103092a950bde2d5d83cbeed163945bb6ff8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/BaseAction.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.SystemConfigQueryService; -import com.x.teamwork.assemble.control.service.TaskGroupPersistService; -import com.x.teamwork.assemble.control.service.TaskGroupQueryService; -import com.x.teamwork.core.entity.TaskGroup; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache taskGroupCache = ApplicationCache.instance().getCache( TaskGroup.class ); - - protected TaskGroupQueryService taskGroupQueryService = new TaskGroupQueryService(); - - protected TaskGroupPersistService taskGroupPersistService = new TaskGroupPersistService(); - - protected ProjectQueryService projectQueryService = new ProjectQueryService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected SystemConfigQueryService systemConfigQueryService = new SystemConfigQueryService(); - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ProjectNotExistsException.java deleted file mode 100644 index c7720e9b0d0d6d7c841e9206ca36c9579db6b29f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/ProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.exception.PromptException; - -class ProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupAction.java deleted file mode 100644 index da18590c2a9ac07831d0633599b09ea7030d2899..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupAction.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("task_group") -@JaxrsDescribe("工作任务组信息管理") -public class TaskGroupAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskGroupAction.class); - - @JaxrsMethodDescribe(value = "根据ID查询工作任务组信息.", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务组ID") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询用户在指定项目中所有的工作任务组信息列表.", action = ActionList.class) - @GET - @Path("list/{project}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listGroups(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam("project") String project) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionList().execute( request, effectivePerson, project ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID列表查询工作任务组信息列表.", action = ActionListWithFilter.class) - @PUT - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithIds(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("传入的ID列表") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithFilter().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "创建或者更新一个工作任务组信息.", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的工作任务组信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除工作任务组信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupFlagForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupFlagForQueryEmptyException.java deleted file mode 100644 index c793c2c3a2acb9748beda424284c9cf5aa3d66b6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupFlagForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupFlagForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupFlagForQueryEmptyException() { - super("查询的工作任务组信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupNotExistsException.java deleted file mode 100644 index 90ad2c866ca35b724597c037ce56feb827fa8734..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupNotExistsException( String id ) { - super("指定ID的工作任务组信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupPersistException.java deleted file mode 100644 index bc9f2f49bdb7cba71ab9c3c23ba7ec819a00ee6f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupPersistException( Throwable e ) { - super("系统在保存工作任务组信息时发生异常。" , e ); - } - - TaskGroupPersistException( Throwable e, String message ) { - super("系统在保存工作任务组信息时发生异常。Message:" + message, e ); - } - - TaskGroupPersistException( String message ) { - super("系统在保存工作任务组信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupQueryException.java deleted file mode 100644 index 31ffd3c7c89b6bdd7f577337588a37eda55777cf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskgroup/TaskGroupQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskgroup; - -import com.x.base.core.project.exception.PromptException; - -class TaskGroupQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskGroupQueryException( Throwable e ) { - super("系统在查询工作任务组信息时发生异常。" , e ); - } - - TaskGroupQueryException( Throwable e, String message ) { - super("系统在查询工作任务组信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionAddTagRele.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionAddTagRele.java deleted file mode 100644 index d34f743fd3dccf9bf59af8037f5472709cc9a81e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionAddTagRele.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; - -public class ActionAddTagRele extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionAddTagRele.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String taskId, String tagId ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskTag taskTag = null; - TaskTagRele rele = null; - Task task = null; - Dynamic dynamic = null; - Wo wo = new Wo(); - Boolean check = true; - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( taskId )) { - check = false; - Exception exception = new TaskIdEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( tagId )) { - check = false; - Exception exception = new TagIdEmptyException(); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - task = taskQueryService.get( taskId ); - if ( task == null) { - check = false; - Exception exception = new TaskNotExistsException( taskId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询任务信息对象时发生异常。ID:" + taskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskTag = taskTagQueryService.get( tagId ); - if ( taskTag == null) { - check = false; - Exception exception = new TaskTagNotExistsException( tagId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询标签信息对象时发生异常。ID:" + tagId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - - rele = taskTagPersistService.addTagRele( task, taskTag, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( TaskTag.class ); - ApplicationCache.notify( Task.class ); - - if( rele != null ) { - result.setData( Wo.copier.copy( rele ) ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "关联标签信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamic = dynamicPersistService.addTaskTagReleDynamic( task, taskTag, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends TaskTagRele { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTagRele.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionCreate.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionCreate.java deleted file mode 100644 index e7342df66414653abc00e26edc4e689ebea3add2..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionCreate.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.TaskTag; - -public class ActionCreate extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionCreate.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskTag taskTag = null; - Project project = null; - Wi wi = null; - Boolean check = true; - Dynamic dynamic = null; - Wo wo = new Wo(); - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getProject() )) { - check = false; - Exception exception = new ProjectIdEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getTag() )) { - check = false; - Exception exception = new TagEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getTagColor() )) { - check = false; - Exception exception = new TagColorEmptyException(); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get( wi.getProject() ); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException( wi.getProject() ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询项目信息对象时发生异常。ID:" + wi.getProject()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskTag = taskTagPersistService.save( Wi.copier.copy( wi ), effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( TaskTag.class ); - - wo.setId( taskTag.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "标签信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamic = dynamicPersistService.taskTagCreateDynamic(taskTag, effectivePerson); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi { - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, TaskTag.class, null, null ); - - @FieldDescribe("可以为空,系统自动生成,非必填。") - private String id; - - @FieldDescribe("所属项目ID,必填。") - private String project; - - @FieldDescribe("标签文字,必填") - private String tag; - - @FieldDescribe("标签颜色,必填") - private String tagColor; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public String getTagColor() { - return tagColor; - } - - public void setTagColor(String tagColor) { - this.tagColor = tagColor; - } - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionDelete.java deleted file mode 100644 index 0278aa3e4eed2ea5f17d524dc70983bc88c6d7be..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionDelete.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.TaskTag; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskTagId ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskTag taskTag = null; - Boolean check = true; - Wo wo = new Wo(); - Dynamic dynamic = null; - - if ( StringUtils.isEmpty( taskTagId ) ) { - check = false; - Exception exception = new TaskTagIdForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskTag = taskTagQueryService.get(taskTagId); - if ( taskTag == null) { - check = false; - Exception exception = new TaskTagNotExistsException(taskTagId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagQueryException(e, "根据指定flag查询工作任务标签信息对象时发生异常。taskTagId:" + taskTagId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskTagPersistService.delete( taskTagId, effectivePerson ); - // 更新缓存 - ApplicationCache.notify( TaskTag.class ); - - wo.setId( taskTag.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskTagQueryException(e, "根据指定flag删除工作任务标签信息对象时发生异常。taskTagId:" + taskTagId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamic = dynamicPersistService.taskTagDeleteDynamic( taskTag, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionGet.java deleted file mode 100644 index 0a938c871c8143090bd541a105da7a2ab45cc60f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionGet.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - TaskTag taskTag = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskTagIdForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( id ); - Element element = taskTagCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskTag = taskTagQueryService.get(id); - if ( taskTag == null) { - check = false; - Exception exception = new TaskTagNotExistsException(id); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagQueryException(e, "根据指定flag查询应用工作任务标签信息对象时发生异常。flag:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wo = Wo.copier.copy( taskTag ); - taskTagCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskTagQueryException(e, "将查询出来的应用工作任务标签信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithProject.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithProject.java deleted file mode 100644 index 794f40ebbd1135c4f30577225e7b7eaff0fbdb86..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithProject.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Element; - -public class ActionListWithProject extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithProject.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String project ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = null;; - Boolean check = true; - String cacheKey = null; - Element element = null; - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionListWithProject", effectivePerson.getDistinguishedName(), project ); - element = taskTagCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - List taskTagList = taskTagQueryService.listWithProjectAndPerson( effectivePerson, project ); - if( ListTools.isNotEmpty( taskTagList )) { - wos = Wo.copier.copy( taskTagList ); - } - if( wos == null ) { - wos = new ArrayList<>(); - }else { - SortTools.desc( wos, "createTime" ); - } - - resultObject = new ResultObject( Long.parseLong( wos.size()+"" ), wos ); - taskTagCache.put(new Element( cacheKey, resultObject )); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务标签信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithTask.java deleted file mode 100644 index 9acbf25c27206124ae97ae7d017498752b81c1b1..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionListWithTask.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.SortTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Element; - -public class ActionListWithTask extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListWithTask.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String taskId ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = null;; - Boolean check = true; - Task task = null; - String cacheKey = null; - Element element = null; - - if ( StringUtils.isEmpty( taskId ) ) { - check = false; - Exception exception = new TaskIdEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - task = taskQueryService.get( taskId ); - if ( task == null) { - check = false; - Exception exception = new TaskNotExistsException( taskId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询任务信息对象时发生异常。ID:" + taskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionListWithTask", effectivePerson.getDistinguishedName(), taskId ); - element = taskTagCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - List taskTagList = taskTagQueryService.listWithTaskAndPerson( effectivePerson, task ); - if( ListTools.isNotEmpty( taskTagList )) { - wos = Wo.copier.copy( taskTagList ); - } - if( wos == null ) { - wos = new ArrayList<>(); - }else { - SortTools.desc( wos, "createTime" ); - } - - resultObject = new ResultObject( Long.parseLong( wos.size()+"" ), wos ); - taskTagCache.put(new Element( cacheKey, resultObject )); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务标签信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionRemoveTagRele.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionRemoveTagRele.java deleted file mode 100644 index eae6c96c65a88f2a2718f6ac3bd2d52515c8f328..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ActionRemoveTagRele.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WrapIdList; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; - -public class ActionRemoveTagRele extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionRemoveTagRele.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, String taskId, String tagId ) throws Exception { - ActionResult result = new ActionResult<>(); - Boolean check = true; - Task task = null; - TaskTag taskTag = null; - Dynamic dynamic = null; - - Wo wo = new Wo(); - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( taskId )) { - check = false; - Exception exception = new TaskIdEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( tagId )) { - check = false; - Exception exception = new TagIdEmptyException(); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskTag = taskTagQueryService.get( tagId ); - if ( taskTag == null) { - check = false; - Exception exception = new TaskTagNotExistsException( tagId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询标签信息对象时发生异常。ID:" + tagId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - task = taskQueryService.get( taskId ); - if ( task == null) { - check = false; - Exception exception = new TaskNotExistsException( taskId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "根据ID查询任务信息对象时发生异常。ID:" + taskId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - - List ids = taskTagPersistService.removeTagRele( taskId, tagId, effectivePerson); - - // 更新缓存 - ApplicationCache.notify( TaskTag.class ); - ApplicationCache.notify( Task.class ); - - wo.setIdList(ids); - - } catch (Exception e) { - check = false; - Exception exception = new TaskTagPersistException(e, "关联标签信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - dynamic = dynamicPersistService.removeTaskTagReleDynamic( task, taskTag, effectivePerson ); - if( dynamic != null ) { - List dynamics = new ArrayList<>(); - dynamics.add( WoDynamic.copier.copy( dynamic ) ); - wo.setDynamics(dynamics); - } - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - -public static class Wo extends WrapIdList { - - @FieldDescribe("操作引起的动态内容") - List dynamics = new ArrayList<>(); - - public List getDynamics() { - return dynamics; - } - - public void setDynamics(List dynamics) { - this.dynamics = dynamics; - } - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } - -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/BaseAction.java deleted file mode 100644 index 4ed9f15219a79bc613312ded09548031d802da4f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/BaseAction.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.assemble.control.service.TaskTagPersistService; -import com.x.teamwork.assemble.control.service.TaskTagQueryService; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache taskTagCache = ApplicationCache.instance().getCache( TaskTag.class ); - - protected TaskTagQueryService taskTagQueryService = new TaskTagQueryService(); - - protected TaskTagPersistService taskTagPersistService = new TaskTagPersistService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected ProjectQueryService projectQueryService = new ProjectQueryService(); - - protected TaskQueryService taskQueryService = new TaskQueryService(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectIdEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectIdEmptyException.java deleted file mode 100644 index 79da9be21bceb0c68c5d2a5d9b4bf3b2cb644658..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectIdEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class ProjectIdEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectIdEmptyException() { - super("工作任务标签信息中项目ID不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectNotExistsException.java deleted file mode 100644 index 15aa605578057839eeaa91497d3fdce25abe2430..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/ProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class ProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagColorEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagColorEmptyException.java deleted file mode 100644 index 090dac09c221975817b3fdf5e5d1e74097cc61a9..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagColorEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TagColorEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TagColorEmptyException() { - super("工作任务标签信息中标签颜色color不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagEmptyException.java deleted file mode 100644 index 7339751a7576cc48d1619bbb177a8990b5690c9c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TagEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TagEmptyException() { - super("工作任务标签信息中标签文字tag不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagIdEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagIdEmptyException.java deleted file mode 100644 index 340222e0f278b985b712c6d98d5626880e9b2f14..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TagIdEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TagIdEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TagIdEmptyException() { - super("工作任务标签信息ID不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskIdEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskIdEmptyException.java deleted file mode 100644 index c7ab5a610a88702536586ad4f9f41ed4673cfc31..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskIdEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskIdEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskIdEmptyException() { - super("工作任务标签信息中任务ID不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskNotExistsException.java deleted file mode 100644 index 90dad17d533d2019d80b99bcff6201fd837f28bf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagAction.java deleted file mode 100644 index 27d110225491b5222147995824937ad2bd9f6750..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagAction.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; - -@Path("task_tag") -@JaxrsDescribe("工作任务标签信息管理") -public class TaskTagAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskTagAction.class); - - @JaxrsMethodDescribe(value = "创建或者更新一个标签信息.", action = ActionCreate.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的标签信息") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionCreate().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据ID查询工作任务标签信息.", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询用户对在项目里添加的所有标签信息列表.", action = ActionListWithProject.class) - @GET - @Path("list/project/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithProject(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam("projectId") String projectId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithProject().execute( request, effectivePerson, projectId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "查询用户对工作任务添加的标签信息列表.", action = ActionListWithTask.class) - @GET - @Path("list/task/{taskId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listWithTask(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务ID") @PathParam("taskId") String taskId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListWithTask().execute( request, effectivePerson, taskId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "为工作任务添加标签.", action = ActionAddTagRele.class) - @GET - @Path("rele/{taskId}/{tagId}/add") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void addTagRele(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务ID") @PathParam("taskId") String taskId, - @JaxrsParameterDescribe("标签ID") @PathParam("tagId") String tagId) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionAddTagRele().execute( request, effectivePerson, taskId, tagId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "为工作任务删除标签.", action = ActionRemoveTagRele.class) - @GET - @Path("rele/{taskId}/{tagId}/remove") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void removeTagRele(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("工作任务ID") @PathParam("taskId") String taskId, - @JaxrsParameterDescribe("标签ID") @PathParam("tagId") String tagId) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionRemoveTagRele().execute( request, effectivePerson, taskId, tagId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据标识删除工作任务标签信息.", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("标识") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagIdForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagIdForQueryEmptyException.java deleted file mode 100644 index 48a74e97f77ec24a87863a02481d50c45c54b6f6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagIdForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskTagIdForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTagIdForQueryEmptyException() { - super("查询的工作任务标签信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagNotExistsException.java deleted file mode 100644 index 8c1c5753c53203eafd95db69911cf849abcb4c5b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskTagNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTagNotExistsException( String id ) { - super("指定ID的工作任务标签信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagPersistException.java deleted file mode 100644 index ba50e4527240352bb6e9d50ee2f3a1b111a9abdb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskTagPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTagPersistException( Throwable e ) { - super("系统在保存工作任务标签信息时发生异常。" , e ); - } - - TaskTagPersistException( Throwable e, String message ) { - super("系统在保存工作任务标签信息时发生异常。Message:" + message, e ); - } - - TaskTagPersistException( String message ) { - super("系统在保存工作任务标签信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagQueryException.java deleted file mode 100644 index 8ff0c2392775c7155cd0ab7ed5db84d9765eef9e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/tasktag/TaskTagQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.tasktag; - -import com.x.base.core.project.exception.PromptException; - -class TaskTagQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskTagQueryException( Throwable e ) { - super("系统在查询工作任务标签信息时发生异常。" , e ); - } - - TaskTagQueryException( Throwable e, String message ) { - super("系统在查询工作任务标签信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionDelete.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionDelete.java deleted file mode 100644 index 1bcadcaeeecb61f3cec83e69e70f10adf4a93fe8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionDelete.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.TaskView; - -public class ActionDelete extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionDelete.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String taskViewId ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskView taskView = null; - Boolean check = true; - Wo wo = new Wo(); - - if ( StringUtils.isEmpty( taskViewId ) ) { - check = false; - Exception exception = new TaskViewIdForQueryEmptyException(); - result.error( exception ); - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskView = taskViewQueryService.get(taskViewId); - if ( taskView == null) { - check = false; - Exception exception = new TaskViewNotExistsException(taskViewId); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "根据指定ID查询工作任务视图信息对象时发生异常。id:" + taskViewId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskViewPersistService.delete( taskViewId, effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( TaskView.class ); - - wo.setId( taskView.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "根据指定flag删除工作任务标签信息对象时发生异常。taskViewId:" + taskViewId); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wo extends WoId { - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterInPage.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterInPage.java deleted file mode 100644 index ff0c546893ac7596fa0e164e7e36498dc4a40fee..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterInPage.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.InTerm; - -import net.sf.ehcache.Element; - -public class ActionExecuteWithFilterInPage extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionExecuteWithFilterInPage.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, Integer pageNum, Integer pageSize, String viewId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = new ArrayList<>(); - ResultObject resultObject = null; - Wi wrapIn = null; - TaskView taskView = null; - Boolean check = true; - String cacheKey = null; - Element element = null; - QueryFilter queryFilter = null; - List tags = null; - - if( Boolean.TRUE.equals( check ) ){ - try { - taskView = taskViewQueryService.get( viewId ); - if ( taskView == null) { - check = false; - Exception exception = new TaskViewNotExistsException( viewId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "根据指定ID查询应用工作任务视图信息对象时发生异常。ID:" + viewId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - try { - wrapIn = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(taskView); - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( taskView.getChooseWorkTag() )) { - //获取在该项目中符合标签条件的所有工作任务ID - List taskIds = taskTagQueryService.listTaskIdsWithTagIds( taskView.getChooseWorkTag() ); - if( ListTools.isEmpty( taskIds ) ) { - taskIds = new ArrayList<>(); - taskIds.add("NoOne"); - } - queryFilter.addInTerm( new InTerm("id", new ArrayList<>(taskIds )) ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionExecuteWithFilterInPage", effectivePerson.getDistinguishedName(), - pageNum, pageSize, taskView.getOrderField(), taskView.getOrderType(), queryFilter.getContentSHA1() ); - element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - Long total = taskQueryService.countWithFilter( effectivePerson, queryFilter ); - List taskList = taskQueryService.listWithFilter( effectivePerson, pageSize, pageNum, taskView.getOrderField(), taskView.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( taskList )) { - wos = Wo.copier.copy(taskList); - for( Wo wo : wos ) { - tags = taskTagQueryService.listWithTaskAndPerson(effectivePerson, wo ); - if( ListTools.isNotEmpty( tags )) { - wo.setTags( WoTaskTag.copier.copy( tags )); - } - } - } - - resultObject = new ResultObject( total, wos ); - taskViewCache.put(new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wi extends WrapInQueryTask{ - } - - public static class Wo extends Task { - - @FieldDescribe("任务标签") - private List tags = null; - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Task.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class WoTaskTag extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, WoTaskTag.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterNext.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterNext.java deleted file mode 100644 index baa2006848ff0aa4f34100c924e08bcef9f109b4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionExecuteWithFilterNext.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.InTerm; - -import net.sf.ehcache.Element; - -public class ActionExecuteWithFilterNext extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionExecuteWithFilterNext.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, String viewId, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - List wos = new ArrayList<>(); - ResultObject resultObject = null; - Wi wrapIn = null; - TaskView taskView = null; - Boolean check = true; - String cacheKey = null; - Element element = null; - QueryFilter queryFilter = null; - List tags = null; - - if( Boolean.TRUE.equals( check ) ){ - try { - taskView = taskViewQueryService.get( viewId ); - if ( taskView == null) { - check = false; - Exception exception = new TaskViewNotExistsException( viewId ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "根据指定ID查询应用工作任务视图信息对象时发生异常。ID:" + viewId ); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - try { - wrapIn = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(taskView); - } - - if( Boolean.TRUE.equals( check ) ){ - if( ListTools.isNotEmpty( taskView.getChooseWorkTag() )) { - //获取在该项目中符合标签条件的所有工作任务ID - List taskIds = taskTagQueryService.listTaskIdsWithTagIds( taskView.getChooseWorkTag() ); - if( ListTools.isEmpty( taskIds ) ) { - taskIds = new ArrayList<>(); - taskIds.add("NoOne"); - } - queryFilter.addInTerm( new InTerm("id", new ArrayList<>(taskIds )) ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionExecuteWithFilterNext", effectivePerson.getDistinguishedName(), flag, count, taskView.getOrderField(), taskView.getOrderType(), queryFilter.getContentSHA1() ); - element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - Long total = taskQueryService.countWithFilter( effectivePerson, queryFilter ); - List taskList = taskQueryService.listWithFilter( effectivePerson, count, flag, taskView.getOrderField(), taskView.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( taskList )) { - wos = Wo.copier.copy(taskList); - for( Wo wo : wos ) { - tags = taskTagQueryService.listWithTaskAndPerson(effectivePerson, wo ); - if( ListTools.isNotEmpty( tags )) { - wo.setTags( WoTaskTag.copier.copy( tags )); - } - } - } - - resultObject = new ResultObject( total, wos ); - taskViewCache.put(new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wi extends WrapInQueryTask{ - } - - public static class Wo extends Task { - - @FieldDescribe("任务标签") - private List tags = null; - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( Task.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class WoTaskTag extends TaskTag { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskTag.class, WoTaskTag.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionGet.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionGet.java deleted file mode 100644 index 03df9f6dc774d67d004a6539310ff8fc1dfe7b1c..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionGet.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskView; - -import net.sf.ehcache.Element; - -public class ActionGet extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionGet.class); - - protected ActionResult execute(HttpServletRequest request, EffectivePerson effectivePerson, String id ) throws Exception { - ActionResult result = new ActionResult<>(); - Wo wo = null; - TaskView taskView = null; - Boolean check = true; - - if ( StringUtils.isEmpty( id ) ) { - check = false; - Exception exception = new TaskViewIdForQueryEmptyException(); - result.error( exception ); - } - - String cacheKey = ApplicationCache.concreteCacheKey( id ); - Element element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - wo = (Wo) element.getObjectValue(); - result.setData( wo ); - } else { - if( Boolean.TRUE.equals( check ) ){ - try { - taskView = taskViewQueryService.get(id); - if ( taskView == null) { - check = false; - Exception exception = new TaskViewNotExistsException(id); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "根据指定ID查询应用工作任务视图信息对象时发生异常。ID:" + id); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - wo = Wo.copier.copy( taskView ); - taskViewCache.put(new Element(cacheKey, wo)); - result.setData(wo); - } catch (Exception e) { - Exception exception = new TaskViewQueryException(e, "将查询出来的应用工作任务标签信息对象转换为可输出的数据信息时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskView { - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskView.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListMyTaskView.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListMyTaskView.java deleted file mode 100644 index d88f9a446f78fc65399fdd62d863438c0db075a0..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListMyTaskView.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskView; - -import net.sf.ehcache.Element; - -public class ActionListMyTaskView extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListMyTaskView.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String projectId ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = new ArrayList<>(); - Boolean check = true; - String cacheKey = null; - Element element = null; - - if ( StringUtils.isEmpty( projectId ) ) { - check = false; - Exception exception = new ProjectIdEmptyException( ); - result.error(exception); - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionListMyTaskView", projectId, effectivePerson.getDistinguishedName(), effectivePerson.isManager() ); - element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - List taskViewList = taskViewQueryService.listViewWithPersonAndProject( effectivePerson, projectId ); - Long total = 0L; - if( ListTools.isNotEmpty( taskViewList )) { - total = Long.parseLong( taskViewList.size() + "" ); - wos = Wo.copier.copy(taskViewList); - } - - resultObject = new ResultObject( total, wos ); - taskViewCache.put( new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询工作任务视图列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wo extends TaskView { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - public static List Excludes = new ArrayList(); - - static WrapCopier copier = WrapCopierFactory.wo( TaskView.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListNextWithFilter.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListNextWithFilter.java deleted file mode 100644 index ef6d16f35e26f29d1d27d419bb373dc2e10ce021..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionListNextWithFilter.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; - -import net.sf.ehcache.Element; - -public class ActionListNextWithFilter extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger(ActionListNextWithFilter.class); - - protected ActionResult> execute( HttpServletRequest request, EffectivePerson effectivePerson, String flag, Integer count, JsonElement jsonElement ) throws Exception { - ActionResult> result = new ActionResult<>(); - ResultObject resultObject = null; - List wos = new ArrayList<>(); - Wi wrapIn = null; - Boolean check = true; - String cacheKey = null; - Element element = null; - QueryFilter queryFilter = null; - - if ( StringUtils.isEmpty( flag ) || "(0)".equals(flag)) { - flag = null; - } - - try { - wrapIn = this.convertToWrapIn(jsonElement, Wi.class); - } catch (Exception e) { - check = false; - Exception exception = new TaskViewQueryException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - queryFilter = wrapIn.getQueryFilter(); - if( StringUtils.isEmpty( wrapIn.getOwner() )) { - queryFilter.addEqualsTerm( new EqualsTerm("owner", effectivePerson.getDistinguishedName() ) ); - } - } - - if( Boolean.TRUE.equals( check ) ){ - cacheKey = ApplicationCache.concreteCacheKey( "ActionListNextWithFilter", effectivePerson.getDistinguishedName(), flag, count, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter.getContentSHA1() ); - element = taskViewCache.get( cacheKey ); - - if ((null != element) && (null != element.getObjectValue())) { - resultObject = (ResultObject) element.getObjectValue(); - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } else { - try { - Long total = taskViewQueryService.countWithFilter( queryFilter ); - List taskViewList = taskViewQueryService.listWithFilter( effectivePerson, count, flag, wrapIn.getOrderField(), wrapIn.getOrderType(), queryFilter ); - - if( ListTools.isNotEmpty( taskViewList )) { - wos = Wo.copier.copy(taskViewList); - } - - resultObject = new ResultObject( total, wos ); - taskViewCache.put(new Element( cacheKey, resultObject )); - - result.setCount( resultObject.getTotal() ); - result.setData( resultObject.getWos() ); - } catch (Exception e) { - check = false; - logger.warn("系统查询项目信息列表时发生异常!"); - result.error(e); - logger.error(e, effectivePerson, request, null); - } - } - } - return result; - } - - public static class Wi extends WrapInQueryTaskView{ - } - - public static class Wo extends TaskView { - - private Long rank; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - private static final long serialVersionUID = -5076990764713538973L; - - static WrapCopier copier = WrapCopierFactory.wo( TaskView.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible)); - - } - - public static class ResultObject { - - private Long total; - - private List wos; - - public ResultObject() {} - - public ResultObject(Long count, List data) { - this.total = count; - this.wos = data; - } - - public Long getTotal() { - return total; - } - - public void setTotal(Long total) { - this.total = total; - } - - public List getWos() { - return wos; - } - - public void setWos(List wos) { - this.wos = wos; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionSave.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionSave.java deleted file mode 100644 index 0d9af4c670fbc067e7d6f8d94d481ad1a59b22ca..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ActionSave.java +++ /dev/null @@ -1,237 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; - -import com.google.gson.JsonElement; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.bean.WrapCopier; -import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.TaskView; - -public class ActionSave extends BaseAction { - - private static Logger logger = LoggerFactory.getLogger( ActionSave.class ); - - protected ActionResult execute( HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception { - ActionResult result = new ActionResult<>(); - TaskView taskView = null; - Project project = null; - Wi wi = null; - Boolean check = true; - Wo wo = new Wo(); - - try { - wi = this.convertToWrapIn( jsonElement, Wi.class ); - } catch (Exception e) { - check = false; - Exception exception = new TaskViewPersistException(e, "系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getProject() )) { - check = false; - Exception exception = new ProjectIdEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getName())) { - check = false; - Exception exception = new TaskViewNameEmptyException(); - result.error(exception); - } - } - if( Boolean.TRUE.equals( check ) ){ - if( StringUtils.isEmpty( wi.getProject() )) { - check = false; - Exception exception = new ProjectIdEmptyException(); - result.error(exception); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - project = projectQueryService.get( wi.getProject() ); - if ( project == null) { - check = false; - Exception exception = new ProjectNotExistsException( wi.getProject() ); - result.error( exception ); - } - } catch (Exception e) { - check = false; - Exception exception = new TaskViewPersistException(e, "根据ID查询项目信息对象时发生异常。ID:" + wi.getProject()); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - - if( Boolean.TRUE.equals( check ) ){ - try { - taskView = taskViewPersistService.save( Wi.copier.copy( wi ), effectivePerson ); - - // 更新缓存 - ApplicationCache.notify( TaskView.class ); - - wo.setId( taskView.getId() ); - - } catch (Exception e) { - check = false; - Exception exception = new TaskViewPersistException(e, "标签信息保存时发生异常。"); - result.error(exception); - logger.error(e, effectivePerson, request, null); - } - } - result.setData( wo ); - return result; - } - - public static class Wi { - - public static WrapCopier copier = WrapCopierFactory.wi( Wi.class, TaskView.class, null, JpaObject.FieldsUnmodifyExcludeId ); - - @FieldDescribe("可以为空,系统自动生成,非必填。") - private String id; - - @FieldDescribe("所属项目ID,必填。") - private String project; - - @FieldDescribe("任务视图名称,必填。") - private String name; - - @FieldDescribe("是否已完成:-1-全部(默认), 1-是,0-否,非必填。") - private Integer workCompleted = -1; - - @FieldDescribe("是否已超时:-1-全部(默认), 1-是,0-否,非必填。") - private Integer workOverTime = -1; - - @FieldDescribe("查询负责的项目,true(默认)|false。如果为false,则为所有参与的项目范围") - private Boolean isExcutor = true; - - @FieldDescribe("筛选优先级:普通|紧急|特急,非必填。") - private List choosePriority; - - @FieldDescribe("筛选标签:自定义标签ID列表,非必填。") - private List chooseWorkTag; - - @FieldDescribe("排序号,非必填。") - private Integer order; - - @FieldDescribe("列表描述,非必填。") - private String memo; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getProject() { - return project; - } - - public void setProject(String project) { - this.project = project; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Integer getWorkCompleted() { - return workCompleted; - } - - public void setWorkCompleted(Integer workCompleted) { - this.workCompleted = workCompleted; - } - - public Integer getWorkOverTime() { - return workOverTime; - } - - public void setWorkOverTime(Integer workOverTime) { - this.workOverTime = workOverTime; - } - - public Boolean getIsExcutor() { - return isExcutor; - } - - public void setIsExcutor(Boolean isExcutor) { - this.isExcutor = isExcutor; - } - - public List getChoosePriority() { - return choosePriority; - } - - public void setChoosePriority(List choosePriority) { - this.choosePriority = choosePriority; - } - - public List getChooseWorkTag() { - return chooseWorkTag; - } - - public void setChooseWorkTag(List chooseWorkTag) { - this.chooseWorkTag = chooseWorkTag; - } - - public Integer getOrder() { - return order; - } - - public void setOrder(Integer order) { - this.order = order; - } - - public String getMemo() { - return memo; - } - - public void setMemo(String memo) { - this.memo = memo; - } - } - - public static class Wo extends WoId { - } - - public static class WoDynamic extends Dynamic{ - - private static final long serialVersionUID = -5076990764713538973L; - - public static WrapCopier copier = WrapCopierFactory.wo( Dynamic.class, WoDynamic.class, null, JpaObject.FieldsInvisible); - - private Long rank = 0L; - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/BaseAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/BaseAction.java deleted file mode 100644 index 14adef0deee81735d1fb6a084d7aa068311ccc02..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/BaseAction.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.cache.ApplicationCache; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.teamwork.assemble.control.service.DynamicPersistService; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.assemble.control.service.TaskTagQueryService; -import com.x.teamwork.assemble.control.service.TaskViewPersistService; -import com.x.teamwork.assemble.control.service.TaskViewQueryService; -import com.x.teamwork.core.entity.TaskTag; - -import net.sf.ehcache.Ehcache; - -public class BaseAction extends StandardJaxrsAction { - - protected Ehcache taskViewCache = ApplicationCache.instance().getCache( TaskTag.class ); - - protected TaskViewQueryService taskViewQueryService = new TaskViewQueryService(); - - protected TaskViewPersistService taskViewPersistService = new TaskViewPersistService(); - - protected TaskTagQueryService taskTagQueryService = new TaskTagQueryService(); - - protected DynamicPersistService dynamicPersistService = new DynamicPersistService(); - - protected ProjectQueryService projectQueryService = new ProjectQueryService(); - - protected TaskQueryService taskQueryService = new TaskQueryService(); -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectIdEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectIdEmptyException.java deleted file mode 100644 index f9de81a8f97cf2599dbc51c94f6df3c399bbbabe..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectIdEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class ProjectIdEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectIdEmptyException() { - super("工作任务标签信息中项目ID不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectNotExistsException.java deleted file mode 100644 index 5f935c3a611b25539b8dd0bca2facbccc10a9807..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/ProjectNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class ProjectNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - ProjectNotExistsException( String id ) { - super("指定ID的项目信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewAction.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewAction.java deleted file mode 100644 index a41b1dbe111152052f0bbde9a52fe410ed62f804..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewAction.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -import com.google.gson.JsonElement; -import com.x.base.core.project.annotation.JaxrsDescribe; -import com.x.base.core.project.annotation.JaxrsMethodDescribe; -import com.x.base.core.project.annotation.JaxrsParameterDescribe; -import com.x.base.core.project.http.ActionResult; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.http.HttpMediaType; -import com.x.base.core.project.jaxrs.ResponseFactory; -import com.x.base.core.project.jaxrs.StandardJaxrsAction; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.jaxrs.task.ActionListPageWithFilter; - -@Path("task_view") -@JaxrsDescribe("工作任务视图信息管理") -public class TaskViewAction extends StandardJaxrsAction { - - private Logger logger = LoggerFactory.getLogger(TaskViewAction.class); - - @JaxrsMethodDescribe(value = "创建一个新的视图信息或者更新一个已存在的视图信息。", action = ActionSave.class) - @POST - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void save(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要保存的视图信息内容") JsonElement jsonElement ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionSave().execute(request, effectivePerson, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据指定的ID查询工作任务视图信息。", action = ActionGet.class) - @GET - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void get(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("视图信息ID") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionGet().execute( request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据指定的ID删除工作任务视图信息。", action = ActionDelete.class) - @DELETE - @Path("{id}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void delete(@Suspended final AsyncResponse asyncResponse, - @Context HttpServletRequest request, - @JaxrsParameterDescribe("视图信息ID") @PathParam("id") String id ) { - ActionResult result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionDelete().execute(request, effectivePerson, id ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "列示指定项目中用户所有的工作任务视图信息。", action = ActionListMyTaskView.class) - @GET - @Path("list/project/{projectId}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listMyTaskWithTaskListId(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("项目ID") @PathParam( "projectId" ) String projectId ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListMyTaskView().execute(request, effectivePerson, projectId ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "根据条件列示用户可见的工作任务视图信息,分页展示。", action = ActionListNextWithFilter.class) - @PUT - @Path("list/{id}/next/{count}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void listNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("上一页最后一条信息数据的ID,第一页就填写'(0)'") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("查询过滤条件") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionListNextWithFilter().execute(request, effectivePerson, id, count, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "计算并展示指定工作任务视图中的工作任务信息列表,按页码分页.", action = ActionExecuteWithFilterInPage.class) - @PUT - @Path("execute/view/{viewId}/page/{pageNum}/{pageSize}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void executePageWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("需要展现的页码") @PathParam( "pageNum" ) Integer pageNum, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "pageSize" ) Integer pageSize, - @JaxrsParameterDescribe("视图ID") @PathParam( "viewId" ) String viewId, - @JaxrsParameterDescribe("查询过滤条件内容") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionExecuteWithFilterInPage().execute( request, effectivePerson, pageNum, pageSize, viewId, jsonElement ); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } - - @JaxrsMethodDescribe(value = "计算并展示指定工作任务视图中工作任务信息列表, 瀑布分页。", action = ActionExecuteWithFilterNext.class) - @PUT - @Path("execute/view/{viewId}/flag/{flag}/next/{count}") - @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) - @Consumes(MediaType.APPLICATION_JSON) - public void executeNextWithFilter(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("上一页最后一条信息数据的ID,第一页就填写'(0)'") @PathParam( "id" ) String id, - @JaxrsParameterDescribe("每页显示的条目数量") @PathParam( "count" ) Integer count, - @JaxrsParameterDescribe("视图ID") @PathParam( "viewId" ) String viewId, - @JaxrsParameterDescribe("查询过滤条件内容") JsonElement jsonElement ) { - ActionResult> result = new ActionResult<>(); - EffectivePerson effectivePerson = this.effectivePerson(request); - try { - result = new ActionExecuteWithFilterNext().execute(request, effectivePerson, id, count, viewId, jsonElement); - } catch (Exception e) { - logger.error(e, effectivePerson, request, null); - result.error(e); - } - asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewIdForQueryEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewIdForQueryEmptyException.java deleted file mode 100644 index b449c1239d303e7a5b5523eac16a1b70095fdaa2..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewIdForQueryEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class TaskViewIdForQueryEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskViewIdForQueryEmptyException() { - super("查询的工作任务标签信息ID为空,无法继续查询数据。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNameEmptyException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNameEmptyException.java deleted file mode 100644 index 2e3da3c1c2ab60a0967bc7ab0583d4c2e58e59cf..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNameEmptyException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class TaskViewNameEmptyException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskViewNameEmptyException() { - super("工作任务视图名称'name'不允许为空。" ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNotExistsException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNotExistsException.java deleted file mode 100644 index 12984b2d3561b8994df96024a8d97bbe549783fb..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewNotExistsException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class TaskViewNotExistsException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskViewNotExistsException( String id ) { - super("指定ID的工作任务标签信息不存在。ID:" + id ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewPersistException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewPersistException.java deleted file mode 100644 index 5b1aacfde9fd131b8a5d6fb661147cdd957797d5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewPersistException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class TaskViewPersistException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskViewPersistException( Throwable e ) { - super("系统在保存工作任务视图信息时发生异常。" , e ); - } - - TaskViewPersistException( Throwable e, String message ) { - super("系统在保存工作任务视图信息时发生异常。Message:" + message, e ); - } - - TaskViewPersistException( String message ) { - super("系统在保存工作任务视图信息时发生异常。Message:" + message ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewQueryException.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewQueryException.java deleted file mode 100644 index 1897907895c1efc593790bb2ffd0fe9d7d85df31..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/TaskViewQueryException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import com.x.base.core.project.exception.PromptException; - -class TaskViewQueryException extends PromptException { - - private static final long serialVersionUID = 1859164370743532895L; - - TaskViewQueryException( Throwable e ) { - super("系统在查询工作任务视图信息时发生异常。" , e ); - } - - TaskViewQueryException( Throwable e, String message ) { - super("系统在查询工作任务视图信息时发生异常。Message:" + message, e ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTask.java deleted file mode 100644 index 5bda6a9b89debbdb34383733eb541a96be0c2a4d..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTask.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.InTerm; -import com.x.teamwork.core.entity.tools.filter.term.IsFalseTerm; -import com.x.teamwork.core.entity.tools.filter.term.IsTrueTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -public class WrapInQueryTask { - - @FieldDescribe("用于搜索的标题,单值,非必填.") - private String key = null; - - private Long rank = 0L; - - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - public Long getRank() { - return rank; - } - - public void setRank(Long rank) { - this.rank = rank; - } - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @param taskView - * @return - */ - public QueryFilter getQueryFilter( TaskView taskView ) { - QueryFilter queryFilter = getQueryFilterWithViewConfig( taskView ); - //组织查询条件对象 - if( StringUtils.isNotEmpty( this.getKey() )) { - QueryFilter key_queryFilter = new QueryFilter(); - key_queryFilter.setJoinType( "or" ); - key_queryFilter.addLikeTerm( new LikeTerm( "name", "%" + this.getKey() + "%" ) ); - key_queryFilter.addLikeTerm( new LikeTerm( "summay", "%" + this.getKey() + "%" ) ); -// key_queryFilter.addLikeTerm( new LikeTerm( "executorUnit", "%" + this.getKey() + "%" ) ); -// key_queryFilter.addLikeTerm( new LikeTerm( "creatorPerson", "%" + this.getKey() + "%" ) ); -// key_queryFilter.addLikeTerm( new LikeTerm( "executorIdentity", "%" + this.getKey() + "%" ) ); - key_queryFilter.addLikeTerm( new LikeTerm( "executor", "%" + this.getKey() + "%" ) ); - if( queryFilter != null ) { - queryFilter.setAnd( key_queryFilter ); - }else { - queryFilter = key_queryFilter; - } - } - if( queryFilter == null ) { - queryFilter = new QueryFilter(); - } - return queryFilter; - } - - private QueryFilter getQueryFilterWithViewConfig( TaskView taskView ) { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( StringUtils.isNotEmpty( taskView.getProject() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "project", taskView.getProject() ) ); - } - - //筛选条件_是否已完成:-1-全部, 1-是,0-否. - if( taskView.getWorkCompleted() == 1 ) { - queryFilter.addIsTrueTerm( new IsTrueTerm("completed")); - }else if( taskView.getWorkCompleted() == 0 ) { - queryFilter.addIsFalseTerm( new IsFalseTerm("completed")); - } - - //筛选条件_是否已超时:-1-全部, 1-是,0-否. - if( taskView.getWorkOverTime() == 1 ) { - queryFilter.addIsTrueTerm( new IsTrueTerm("overtime")); - }else if( taskView.getWorkOverTime() == 0 ) { - queryFilter.addIsFalseTerm( new IsFalseTerm("overtime")); - } - //只查询我作为负责人的任务 - if( taskView.getIsExcutor() ) { - queryFilter.addEqualsTerm( new EqualsTerm( "executor", taskView.getOwner() ) ); - } - - if( ListTools.isNotEmpty( taskView.getChoosePriority() )) { - queryFilter.addInTerm( new InTerm("priority", new ArrayList<>(taskView.getChoosePriority())) ); - } - - - if( ListTools.isNotEmpty( taskView.getChooseWorkTag() )) { - //需要换成In符合条件的任务ID - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTaskView.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTaskView.java deleted file mode 100644 index 9c8d809c68ae41d844bc4e8e0177df1aac1f4ec1..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/jaxrs/taskview/WrapInQueryTaskView.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.x.teamwork.assemble.control.jaxrs.taskview; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.InTerm; -import com.x.teamwork.core.entity.tools.filter.term.LikeTerm; - -public class WrapInQueryTaskView { - - @FieldDescribe("筛选ID列表,非必填") - private List ids; - - @FieldDescribe("用于排列的属性,非必填,默认为createTime.") - private String orderField = "createTime"; - - @FieldDescribe("排序方式:DESC | ASC,非必填,默认为DESC.") - private String orderType = "DESC"; - - @FieldDescribe("所属项目ID,非必填。") - private String project; - - @FieldDescribe("任务视图名称,非必填。") - private String name; - - @FieldDescribe("拥有者@P,非必填。") - private String owner; - - private Long rank = 0L; - - public List getIds() { - return ids; - } - public void setIds(List ids) { - this.ids = ids; - } - public String getOrderField() { - return orderField; - } - public void setOrderField(String orderField) { - this.orderField = orderField; - } - public String getOrderType() { - return orderType; - } - public void setOrderType(String orderType) { - this.orderType = orderType; - } - public String getProject() { - return project; - } - public void setProject(String project) { - this.project = project; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getOwner() { - return owner; - } - public void setOwner(String owner) { - this.owner = owner; - } - public Long getRank() { - return rank; - } - public void setRank(Long rank) { - this.rank = rank; - } - - - /** - * 根据传入的查询参数,组织一个完整的QueryFilter对象 - * @return - */ - public QueryFilter getQueryFilter() { - QueryFilter queryFilter = new QueryFilter(); - //组织查询条件对象 - if( ListTools.isNotEmpty( this.getIds() )) { - if( this.getIds().size() == 1 ) { - queryFilter.addEqualsTerm( new EqualsTerm( "choosideWorkTag", this.getIds().get(0) ) ); - }else { - queryFilter.addInTerm( new InTerm( "id", new ArrayList<>(this.getIds()) ) ); - } - } - if( StringUtils.isNotEmpty( this.getProject() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "project", this.getProject() ) ); - } - if( StringUtils.isNotEmpty( this.getName() )) { - queryFilter.addLikeTerm( new LikeTerm( "name", "%" + this.getName() + "%" ) ); - } - if( StringUtils.isNotEmpty( this.getOwner() )) { - queryFilter.addEqualsTerm( new EqualsTerm( "owner", this.getOwner() ) ); - } - return queryFilter; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/queue/QueueBatchOperation.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/queue/QueueBatchOperation.java deleted file mode 100644 index 8d9d669ac522b87fae58e9ad5c73e237513058c9..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/queue/QueueBatchOperation.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.x.teamwork.assemble.control.queue; - -import com.x.base.core.project.queue.AbstractQueue; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.core.entity.BatchOperation; - -/** - * 批处理操作执行 - */ -public class QueueBatchOperation extends AbstractQueue { - - private BatchOperationPersistService cmsBatchOperationPersistService = new BatchOperationPersistService(); - private BatchOperationProcessService cmsBatchOperationProcessService = new BatchOperationProcessService(); - - public void execute( BatchOperation operation ) throws Exception { - try { - cmsBatchOperationProcessService.process( operation ); - }catch( Exception e) { - e.printStackTrace(); - try { - cmsBatchOperationPersistService.addErrorTime( operation, 1 ); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentPersistService.java deleted file mode 100644 index 780f06797ce5abd93bb51f03ef425a9f26788e10..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentPersistService.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.core.entity.Attachment; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.Task; - -public class AttachmentPersistService{ - - private static Logger logger = LoggerFactory.getLogger( AttachmentPersistService.class ); - - public Attachment saveAttachment( Project project, Attachment attachment ) throws Exception { - attachment.setProjectId( project.getId() ); - attachment.setBundleObjType( "OBJECT" ); - return save( attachment ); - } - - public Attachment saveAttachment( Task task, Attachment attachment ) throws Exception { - attachment.setProjectId( task.getProject() ); - attachment.setBundleObjType( "TASK" ); - return save( attachment ); - } - - /** - * 向数据库保存Attachment对象 - * @param wrapIn - */ - public Attachment save( Attachment wrapIn ) throws Exception { - Attachment attachment = null; - if( wrapIn.getId() !=null && wrapIn.getId().trim().length() > 20 ){ - //根据ID查询信息是否存在,如果存在就update,如果不存在就create - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - attachment = emc.find( wrapIn.getId(), Attachment.class ); - if( attachment != null ){ - emc.beginTransaction( Attachment.class ); - wrapIn.copyTo( attachment, JpaObject.FieldsUnmodify ); - emc.check( attachment, CheckPersistType.all ); - emc.commit(); - }else{ - attachment = new Attachment(); - emc.beginTransaction( Attachment.class ); - wrapIn.copyTo( attachment ); - attachment.setId( wrapIn.getId() );//使用参数传入的ID作为记录的ID - emc.persist( attachment, CheckPersistType.all); - emc.commit(); - } - }catch( Exception e ){ - logger.warn( "Attachment update/ got a error!" ); - throw e; - } - }else{//没有传入指定的ID - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - attachment = new Attachment(); - emc.beginTransaction( Attachment.class ); - wrapIn.copyTo( attachment ); - emc.persist( attachment, CheckPersistType.all); - emc.commit(); - }catch( Exception e ){ - logger.warn( "Attachment create got a error!", e); - throw e; - } - } - return attachment; - } - - /** - * 根据ID从数据库中删除Attachment对象 - * @param id - * @throws Exception - */ - public void delete( String id ) throws Exception { - Attachment attachment = null; - if( id == null || id.isEmpty() ){ - throw new Exception( "id is null, system can not delete any object." ); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - //先判断需要操作的应用信息是否存在,根据ID进行一次查询,如果不存在不允许继续操作 - attachment = emc.find(id, Attachment.class); - if ( null == attachment ) { - throw new Exception( "object is not exist {'id':'"+ id +"'}" ); - }else{ - emc.beginTransaction( Attachment.class ); - emc.remove( attachment, CheckRemoveType.all ); - emc.commit(); - } - } catch ( Exception e ) { - throw e; - } - } - - - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentQueryService.java deleted file mode 100644 index 2f15663b2e84788ebd0ad7052b02819f8926e6d5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/AttachmentQueryService.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Attachment; - -public class AttachmentQueryService{ - - - /** - * 根据传入的ID从数据库查询Attachment对象 - * @param id - * @return - * @throws Exception - */ - public Attachment get( String id ) throws Exception { - if( id == null || id.isEmpty() ){ - throw new Exception( "id is null, return null!" ); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - return emc.find( id, Attachment.class ); - }catch( Exception e ){ - throw e; - } - } - - /** - * 根据传入的ID从数据库查询Attachment对象 - * @param id - * @return - * @throws Exception - */ - public List list( List ids ) throws Exception { - if( ListTools.isEmpty( ids ) ){ - return null; - } - Business business = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business( emc ); - return business.attachmentFactory().list(ids); - }catch( Exception e ){ - throw e; - } - } - - public List listAttachmentWithProject( String project) throws Exception { - if( StringUtils.isEmpty( project ) ){ - return null; - } - Business business = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business( emc ); - return business.attachmentFactory().listAttachmentWithProject( project ); - }catch( Exception e ){ - throw e; - } - } - - public List listAttachmentWithTask( String taskId ) throws Exception { - if( StringUtils.isEmpty( taskId ) ){ - return null; - } - Business business = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business( emc ); - return business.attachmentFactory().listAttachmentWithTask( taskId ); - }catch( Exception e ){ - throw e; - } - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationPersistService.java deleted file mode 100644 index 22432d9c741ff7f7aa442a4a5517f477ebe5a90f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationPersistService.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.core.entity.BatchOperation; - -/** - * 对批处理操作信息持久化服务类利用Service完成事务控制 - * - */ -public class BatchOperationPersistService { - - BatchOperationService cmsBatchOperationService = new BatchOperationService(); - /** - * 保存批处理信息对象 - * @param cmsBatchOperation - * @return - * @throws Exception - */ - public BatchOperation addOperation( BatchOperation cmsBatchOperation ) throws Exception { - if( cmsBatchOperation == null ) { - throw new Exception("cmsBatchOperation can not null for save!"); - } - if( StringUtils.isEmpty(cmsBatchOperation.getOptType() )) { - throw new Exception("optType can not empty for save BatchOperation!"); - } - if( StringUtils.isEmpty( cmsBatchOperation.getObjType() )) { - throw new Exception("objType can not empty for save BatchOperation!"); - } - if( StringUtils.isEmpty( cmsBatchOperation.getBundle() )) { - throw new Exception("bundle can not empty for save BatchOperation!"); - } - if( StringUtils.isEmpty( cmsBatchOperation.getDescription() )) { - throw new Exception("description can not empty for save BatchOperation!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - emc.beginTransaction( BatchOperation.class ); - emc.persist( cmsBatchOperation, CheckPersistType.all ); - emc.commit(); - //将批量操作信息压入队列 - ThisApplication.queueBatchOperation.send( cmsBatchOperation ); - } catch ( Exception e ) { - throw e; - } - return cmsBatchOperation; - } - - /** - * 保存批处理信息对象 - * - * @param objType 对象类别 - * @param optType 操作类别 - * @param bundle 绑定的ID - * @param oldInfo 原来的信息 - * @param description 操作类别 - * @return - * @throws Exception - */ - public BatchOperation addOperation( String objType, String optType, String bundle, String oldInfo, String description ) throws Exception { - BatchOperation cmsBatchOperation = new BatchOperation(); - cmsBatchOperation.setOptType(optType); - cmsBatchOperation.setObjType(objType); - cmsBatchOperation.setBundle(bundle); - cmsBatchOperation.setDescription(description); - cmsBatchOperation.setErrorCount( 0 ); - cmsBatchOperation.setIsRunning( false ); - cmsBatchOperation.setOldInfo( oldInfo ); - addOperation( cmsBatchOperation ); - return cmsBatchOperation; - } - - /** - * 删除批处理信息对象 - * @param id - * @return - * @throws Exception - */ - public void delete( String id ) throws Exception { - if( id == null ) { - throw new Exception("id can not empty for delete!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - BatchOperation cmsBatchOperation = emc.find(id, BatchOperation.class ); - if( cmsBatchOperation == null ) { - throw new Exception("Entity for BatchOperation not exists with id:" + id ); - } - emc.beginTransaction( BatchOperation.class ); - emc.remove( cmsBatchOperation, CheckRemoveType.all ); - emc.commit(); - } catch ( Exception e ) { - throw e; - } - } - - public void addErrorTime(BatchOperation operation, int i ) throws Exception { - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - BatchOperation cmsBatchOperation = emc.find( operation.getId(), BatchOperation.class ); - if( cmsBatchOperation == null ) { - throw new Exception("Entity for BatchOperation not exists with id:" + operation.getId() ); - } - cmsBatchOperation.addErrorCount(1); - emc.beginTransaction( BatchOperation.class ); - emc.check( cmsBatchOperation, CheckPersistType.all ); - emc.commit(); - } catch ( Exception e ) { - throw e; - } - } - - public void initOperationRunning() throws Exception { - List operations = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - operations = cmsBatchOperationService.list( emc, 1000 ); - if( ListTools.isNotEmpty( operations )) { - emc.beginTransaction( BatchOperation.class ); - for( BatchOperation operation : operations ) { - operation.setIsRunning( false ); - emc.check( operation, CheckPersistType.all ); - } - emc.commit(); - } - } catch ( Exception e ) { - throw e; - } - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationQueryService.java deleted file mode 100644 index 98160cddf4776e5824b1d9c10e7068400fbb3aae..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationQueryService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.teamwork.core.entity.BatchOperation; - -/** - * 对批处理操作信息进行管理的服务类,利用Service完成事务控制 - * - */ -public class BatchOperationQueryService { - - private BatchOperationService cmsBatchOperationService = new BatchOperationService(); - - public List list( List ids ) throws Exception { - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - return cmsBatchOperationService.list( emc, ids ); - } catch ( Exception e ) { - throw e; - } - } - - public List list( Integer maxCount ) throws Exception { - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - return cmsBatchOperationService.list( emc, maxCount ); - } catch ( Exception e ) { - throw e; - } - } - - public List listNotRun( Integer maxCount ) throws Exception { - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - return cmsBatchOperationService.listNotRun( emc, maxCount ); - } catch ( Exception e ) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationService.java deleted file mode 100644 index 473186843549da938645882be0746ebca9457850..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/BatchOperationService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.BatchOperation; - -public class BatchOperationService { - - public List list( EntityManagerContainer emc, List ids ) throws Exception { - if( ListTools.isEmpty( ids ) ){ - return null; - } - Business business = new Business( emc ); - return business.batchOperationFactory().list( ids ); - } - - public List list( EntityManagerContainer emc, Integer maxCount ) throws Exception { - if( maxCount == null ){ - maxCount = 10; - } - Business business = new Business( emc ); - return business.batchOperationFactory().list(maxCount); - } - - public List listNotRun( EntityManagerContainer emc, Integer maxCount ) throws Exception { - if( maxCount == null ){ - maxCount = 10; - } - Business business = new Business( emc ); - return business.batchOperationFactory().listNotRun(maxCount); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatPersistService.java deleted file mode 100644 index dc84ae67d8bc1625514d0ef2b11d9c2ebc0917aa..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatPersistService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.core.entity.Chat; - -public class ChatPersistService { - - private ChatService chatService = new ChatService(); - - /** - * 删除工作交流信息(管理员可删除) - * @param id - * @param effectivePerson - * @throws Exception - */ - public void delete( String id, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - Boolean hasDeletePermission = false; - if( effectivePerson.isManager() ) { - hasDeletePermission = true; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( !hasDeletePermission ) { - throw new Exception("chat delete permission denied."); - }else { - chatService.delete( emc, id ); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 保存工作交流信息 - * @param chat - * @param effectivePerson - * @return - * @throws Exception - */ - public Chat create( EffectivePerson effectivePerson, Chat object, String lobContent ) throws Exception { - if ( object == null) { - throw new Exception("chat object is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return chatService.create( emc, object, lobContent ); - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatQueryService.java deleted file mode 100644 index 83535180df17eed4e1c1f53514b09070f8dbcae8..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatQueryService.java +++ /dev/null @@ -1,166 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.ChatContent; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - - -/** - * 对工作交流信息查询的服务 - * - * @author O2LEE - */ -public class ChatQueryService { - - private ChatService chatService = new ChatService(); - - /** - * 根据工作交流的标识查询工作交流信息 - * @param flag - * @return - * @throws Exception - */ - public Chat get( String flag ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return chatService.get(emc, flag ); - } catch (Exception e) { - throw e; - } - } - - public String getContent(String id) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - ChatContent chatContent = chatService.getContent(emc, id ); - return chatContent == null ? "":chatContent.getContent(); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据ID列表查询工作交流信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list(List ids) throws Exception { - if (ListTools.isEmpty( ids )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( Chat.class, ids ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据过滤条件查询符合要求的工作交流信息数量 - * @param queryFilter - * @return - * @throws Exception - */ - public Long countWithFilter( QueryFilter queryFilter ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return chatService.countWithFilter(emc, queryFilter); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据过滤条件查询符合要求的工作交流信息列表 - * @param currentPerson - * @param pageSize - * @param pageNum - * @param orderField - * @param orderType - * @param group - * @param title - * @return - * @throws Exception - */ - public List listWithFilter( Integer pageSize, Integer pageNum, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List chatList = null; - List result = new ArrayList<>(); - Integer maxCount = 20; - Integer startNumber = 0; - if( pageNum == 0 ) { pageNum = 1; } - if( pageSize == 0 ) { pageSize = 20; } - maxCount = pageSize * pageNum; - startNumber = pageSize * ( pageNum -1 ); - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - chatList = chatService.listWithFilter(emc, maxCount, orderField, orderType, queryFilter ); - if( ListTools.isNotEmpty( chatList )) { - for( int i = 0; i= startNumber ) { - result.add( chatList.get( i )); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - /** - * 根据过滤条件查询符合要求的工作交流信息列表 - * @param currentPerson - * @param pageSize - * @param pageNum - * @param orderField - * @param orderType - * @param group - * @param title - * @return - * @throws Exception - */ - public List listWithFilterNext( Integer pageSize, String lastId, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List chatList = null; - Integer maxCount = 20; - - if( pageSize == 0 ) { pageSize = 20; } - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Chat chat = chatService.get(emc, lastId ); - if( chat != null ) { - chatList = chatService.listWithFilterNext(emc, maxCount, chat.getId(), orderField, orderType, queryFilter ); - }else { - chatList = chatService.listWithFilterNext(emc, maxCount, null, orderField, orderType, queryFilter ); - } - } catch (Exception e) { - throw e; - } - return chatList; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatService.java deleted file mode 100644 index 5d313bd409d2c658148983c247e9c622c1576092..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ChatService.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.ChatContent; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -/** - * 对工作交流信息查询的服务 - * - * @author O2LEE - */ -class ChatService { - - /** - * 根据工作交流的标识查询工作交流的信息 - * @param emc - * @param flag 主要是ID - * @return - * @throws Exception - */ - protected Chat get(EntityManagerContainer emc, String flag) throws Exception { - Business business = new Business( emc ); - return business.chatFactory().get( flag ); - } - - /** - * 根据工作交流的标识查询工作交流的信息 - * @param emc - * @param flag 主要是ID - * @return - * @throws Exception - */ - protected ChatContent getContent(EntityManagerContainer emc, String flag) throws Exception { - Business business = new Business( emc ); - return business.chatFactory().getContent( flag ); - } - - /** - * 根据过滤条件查询符合要求的工作交流信息数量 - * @param emc - * @param queryFilter - * @return - * @throws Exception - */ - protected Long countWithFilter( EntityManagerContainer emc, QueryFilter queryFilter ) throws Exception { - Business business = new Business( emc ); - return business.chatFactory().countWithFilter(queryFilter); - } - - /** - * 根据过滤条件查询符合要求的工作交流信息列表 - * @param emc - * @param maxCount - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - protected List listWithFilter( EntityManagerContainer emc, Integer maxCount, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - Business business = new Business( emc ); - return business.chatFactory().listWithFilter(maxCount, orderField, orderType, queryFilter); - } - - /** - * 根据过滤条件查询符合要求的工作交流信息列表 - * @param emc - * @param maxCount - * @param orderField - * @param orderType - * @param projectIds - * @param taskIds - * @return - * @throws Exception - */ - protected List listWithFilterNext( EntityManagerContainer emc, Integer maxCount, String sequenceFieldValue, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - Business business = new Business( emc ); - return business.chatFactory().listWithFilter(maxCount, sequenceFieldValue, orderField, orderType, queryFilter); - } - - /** - * 向数据库持久化工作交流信息 - * @param emc - * @param chat - * @return - * @throws Exception - */ - protected Chat create( EntityManagerContainer emc, Chat object, String lobContent ) throws Exception { - ChatContent chatContent_entity = null; - Chat chat_entity = null; - if( StringUtils.isEmpty( object.getId() )) { - object.setId( Chat.createId() ); - }else { - chat_entity = emc.find( object.getId(), Chat.class ); - chatContent_entity = emc.find( object.getId(), ChatContent.class ); - } - - emc.beginTransaction( Chat.class ); - emc.beginTransaction( ChatContent.class ); - if( chat_entity != null ) { - object.copyTo( chat_entity ); - emc.check( chat_entity, CheckPersistType.all ); - }else { - emc.persist( object, CheckPersistType.all ); - } - - if( chatContent_entity != null ) { - chatContent_entity.setContent( lobContent ); - emc.check( chat_entity, CheckPersistType.all ); - }else { - chatContent_entity = new ChatContent(); - chatContent_entity.setId( object.getId() ); - chatContent_entity.setContent( lobContent ); - emc.persist( chatContent_entity, CheckPersistType.all ); - } - emc.commit(); - return object; - } - - /** - * 根据工作交流标识删除工作交流信息 - * @param emc - * @param id - * @throws Exception - */ - protected void delete(EntityManagerContainer emc, String id) throws Exception { - Chat chat = emc.find( id, Chat.class ); - ChatContent chatContent = emc.find( id, ChatContent.class ); - emc.beginTransaction( Chat.class ); - emc.beginTransaction( ChatContent.class ); - if( chat != null ) { - emc.remove( chat , CheckRemoveType.all ); - } - if( chatContent != null ) { - emc.remove( chatContent , CheckRemoveType.all ); - } - emc.commit(); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/DynamicQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/DynamicQueryService.java deleted file mode 100644 index b8c2f53e6c4e1c9d1340893fa04c8e6c0f759f82..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/DynamicQueryService.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Dynamic; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - - -/** - * 对动态信息查询的服务 - * - * @author O2LEE - */ -public class DynamicQueryService { - - private DynamicService dynamicService = new DynamicService(); - - /** - * 根据动态的标识查询动态信息 - * @param flag - * @return - * @throws Exception - */ - public Dynamic get( String flag ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return dynamicService.get(emc, flag ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据ID列表查询动态信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list(List ids) throws Exception { - if (ListTools.isEmpty( ids )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( Dynamic.class, ids ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据过滤条件查询符合要求的动态信息数量 - * @param queryFilter - * @return - * @throws Exception - */ - public Long countWithFilter( QueryFilter queryFilter ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return dynamicService.countWithFilter(emc, queryFilter ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据过滤条件查询符合要求的动态信息列表 - * @param currentPerson - * @param pageSize - * @param pageNum - * @param orderField - * @param orderType - * @param group - * @param title - * @return - * @throws Exception - */ - public List listWithFilter( EffectivePerson currentPerson, Integer pageSize, Integer pageNum, List projectIds, List taskIds ) throws Exception { - List dynamicList = null; - List result = new ArrayList<>(); - Integer maxCount = 20; - Integer startNumber = 0; - String orderField = "createTime"; - String orderType = "desc"; - - if( pageNum == 0 ) { pageNum = 1; } - if( pageSize == 0 ) { pageSize = 20; } - maxCount = pageSize * pageNum; - startNumber = pageSize * ( pageNum -1 ); - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - dynamicList = dynamicService.listWithFilter(emc, maxCount, orderField, orderType, projectIds, taskIds ); - if( ListTools.isNotEmpty( dynamicList )) { - for( int i = 0; i= startNumber ) { - result.add( dynamicList.get( i )); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - /** - * 根据过滤条件查询符合要求的动态信息列表 - * @param currentPerson - * @param pageSize - * @param lastId - * @param projectIds - * @param taskIds - * @return - * @throws Exception - */ - public List listWithFilter(EffectivePerson effectivePerson, Integer pageSize, String lastId, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List dynamicList = null; - List resultList = new ArrayList<>(); - Dynamic lastDynamic = null; - - Integer maxCount = 2000; - if( pageSize == 0 ) { pageSize = 20; } - - if( StringUtils.isEmpty( orderField )) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType )) { - orderType = "desc"; - } - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( StringUtils.isNotEmpty(lastId) && !"(0)".equals( lastId ) && !"null".equals( lastId )) { - lastDynamic = emc.find( lastId, Dynamic.class ); - } - dynamicList = dynamicService.listWithFilterNext(emc, maxCount, null, orderField, orderType, queryFilter ); - } catch (Exception e) { - throw e; - } - if( ListTools.isNotEmpty( dynamicList )) { - int count = 0; - if( lastDynamic != null ) { - boolean add = false; - //获取自lastDynamic之后的一页内容 - for( Dynamic dynamic : dynamicList ) { - if( add ) { - count ++; - if( count <= pageSize ) { - resultList.add( dynamic ); - } - } - if( dynamic.getId().equals( lastDynamic.getId() )) { - add = true; - } - } - }else { - //只获取第一页内容 - for( Dynamic dynamic : dynamicList ) { - count ++; - if( count <= pageSize ) { - resultList.add(dynamic); - } - } - } - } - return resultList; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/MessageFactory.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/MessageFactory.java deleted file mode 100644 index e8f0466cdd27aa4ebdee128a7088ab6b18f5fe85..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/MessageFactory.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.entity.JpaObject; -import com.x.base.core.project.message.MessageConnector; -import com.x.base.core.project.tools.DateTools; -import com.x.base.core.project.tools.ListTools; -import com.x.base.core.project.tools.StringTools; -import com.x.teamwork.assemble.common.date.DateOperation; -import com.x.teamwork.core.entity.Chat; -import com.x.teamwork.core.entity.Task; - -public class MessageFactory { - - public static void message_to_teamWorkCreate( Task task ) throws Exception { - //System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>message for teamwork create!" + task.getExecutor() ); - String title = "新工作任务:" + adjustTitle( task ); - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKCREATE, title, task.getExecutor(), task ); - } - - public static void message_to_teamWorkUpdate( Task oldTask, Task newTask ) throws Exception { - //System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>message for teamwork update!" + task.getExecutor() ); - String title = "工作任务信息变更:" + adjustTitle( oldTask ); - if( newTask != null && StringUtils.equals( newTask.getExecutor(), oldTask.getExecutor() )){ - title = "工作任务负责人变更通知:" + adjustTitle( oldTask ); - } - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKUPDATE, title, oldTask.getExecutor(), oldTask ); - if( newTask != null ){ - title = "工作任务负责人变更通知:" + adjustTitle( newTask ); - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKUPDATE, title, newTask.getExecutor(), newTask ); - } - } - - public static void message_to_teamWorkUpdateParticipants( Task task, List participants ) throws Exception { - String title = "工作任务参与者变更:" + adjustTitle( task ); - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - if( ListTools.isNotEmpty( participants )) { - UserManagerService userManagerService = new UserManagerService(); - for( String participant : participants ) { - //System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>message for teamwork update participants!" + participant ); - if( participant.indexOf( "@I" ) > 0 ) { - participant = userManagerService.getPersonNameWithIdentity( participant ); - } - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKUPDATE, title, participant, task ); - } - } - } - - public static void message_to_teamWorkUpdateManagers( Task task, List managers ) throws Exception { - String title = "工作任务管理者变更:" + adjustTitle( task ); - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - - if( ListTools.isNotEmpty( managers )) { - UserManagerService userManagerService = new UserManagerService(); - for( String manager : managers ) { - if( manager.indexOf( "@I" ) > 0 ) { - manager = userManagerService.getPersonNameWithIdentity( manager ); - } - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKUPDATE, title, manager, task ); - } - } - } - - public static void message_to_teamWorkOverTime( Task task, Boolean overtime ) throws Exception { - String title = null; - if( overtime ) { - title = "工作任务超时:" + adjustTitle( task ); - }else { - title = "工作任务即将超时:" + adjustTitle( task ); - } - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKOVERTIME, title, task.getExecutor(), task ); - } - - public static void message_to_teamWorkDelete( Task task ) throws Exception { - String title = "工作任务删除:" + adjustTitle( task ); - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_TASKDELETE, title, task.getExecutor(), task ); - } - - public static void message_to_chat( Chat chat ) throws Exception { - String title = "工作交流:" + adjustTitle( chat ); - title = StringTools.utf8SubString( title, JpaObject.length_255B ); - //查询该任务 - Task task = new TaskQueryService().get( chat.getTaskId() ); - if( task != null ) { - if( ListTools.isNotEmpty( task.getParticipantList() )) { - UserManagerService userManagerService = new UserManagerService(); - for( String participant : task.getParticipantList() ) { - if( participant.indexOf( "@I" ) > 0 ) { - participant = userManagerService.getPersonNameWithIdentity( participant ); - } - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_CHAT, title, participant, chat ); - } - } - }else { - MessageConnector.send( MessageConnector.TYPE_TEAMWORK_CHAT, title, chat.getTarget(), chat ); - } - } - - private static String adjustTitle( Task o) { - String title = ""; - if (StringUtils.isEmpty(o.getName())) { - title = "无标题 " + DateTools.format(o.getCreateTime()); - } else { - title = o.getName(); - } - if( o.getStartTime() != null && o.getEndTime() != null ) { - title += ", (" + DateOperation.getDate( o.getStartTime(), "yyyy-MM-dd") + " - " + DateOperation.getDate( o.getEndTime(), "yyyy-MM-dd") + ")"; - } - return title; - } - - private static String adjustTitle( Chat o) { - String title = ""; - if (StringUtils.isEmpty(o.getContent() )) { - title = "无标题 " + DateTools.format(o.getCreateTime()); - } else { - title = o.getContent(); - } - return title; - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupPersistService.java deleted file mode 100644 index 98cc3232a46c421383bf27252eef7e5415b0be53..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupPersistService.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.ProjectGroup; -import com.x.teamwork.core.entity.ProjectGroupRele; - -public class ProjectGroupPersistService { - - private ProjectGroupService projectGroupService = new ProjectGroupService(); - - /** - * 删除项目组信息 - * @param flag - * @param effectivePerson - * @throws Exception - */ - public void delete( String id, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - projectGroupService.delete( emc, id ); - } catch (Exception e) { - throw e; - } - } - - /** - * 保存项目组信息 - * @param object - * @param effectivePerson - * @return - * @throws Exception - */ - public ProjectGroup save( ProjectGroup object, EffectivePerson effectivePerson ) throws Exception { - if ( object == null) { - throw new Exception("object is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - object.setCreatorPerson( effectivePerson.getDistinguishedName() ); - object.setOwner( effectivePerson.getDistinguishedName() ); - object = projectGroupService.save( emc, object ); - } catch (Exception e) { - throw e; - } - return object; - } - - /** - * 将项目添加到项目组中去 - * @param projectId - * @param groupId - * @return - * @throws Exception - */ - public ProjectGroupRele addToGroup( String projectId, String groupId ) throws Exception { - if ( StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty."); - } - if ( StringUtils.isEmpty( groupId )) { - throw new Exception("groupId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return projectGroupService.addToGroup(emc, projectId, groupId); - } catch (Exception e) { - throw e; - } - } - - /** - * 将项目从项目组中除去 - * @param emc - * @param projectId - * @param groupId - * @throws Exception - */ - public void removeFromGroup( String projectId, String groupId ) throws Exception { - if ( StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty."); - } - if ( StringUtils.isEmpty( groupId )) { - throw new Exception("groupId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - projectGroupService.removeFromGroup( emc, groupId, projectId ); - } catch (Exception e) { - throw e; - } - } - - /** - * 先删除项目所有已经关联的项目组,然后再将新的项目组与项目关联 - * @param projectId - * @param groups - * @throws Exception - */ - public void releProjectToGroup( String projectId, List groups ) throws Exception { - if ( StringUtils.isEmpty( projectId )) { - return; - } - ProjectGroupRele projectGroupRele = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - - //查询项目所有已经关联的项目组关联信息 - List reles = projectGroupService.listReleWithProject( emc, projectId ); - - emc.beginTransaction( ProjectGroupRele.class ); - //删除项目所有已经关联的项目组关联信息 - if( ListTools.isNotEmpty( reles )) { - for( ProjectGroupRele rele : reles ) { - emc.remove( rele, CheckRemoveType.all ); - } - } - - //将新的项目组与项目关联 - if( ListTools.isNotEmpty( groups )) { - for( String group : groups ) { - projectGroupRele = new ProjectGroupRele(); - projectGroupRele.setProjectId( projectId ); - projectGroupRele.setGroupId( group ); - emc.persist( projectGroupRele, CheckPersistType.all ); - } - } - emc.commit(); - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupQueryService.java deleted file mode 100644 index a512758e8f83ef853a6a91bbede4b3d2dfe106cd..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupQueryService.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.ProjectGroupRele; -import com.x.teamwork.core.entity.ProjectGroup; - - -/** - * 对项目组信息查询的服务 - * - * @author O2LEE - */ -public class ProjectGroupQueryService { - - private ProjectGroupService projectGroupService = new ProjectGroupService(); - - - public List list(List groupIds) throws Exception { - if ( ListTools.isEmpty( groupIds )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return projectGroupService.list( emc, groupIds ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据项目组的标识查询项目组信息 - * @param id - * @return - * @throws Exception - */ - public ProjectGroup get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return projectGroupService.get(emc, id ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据用户列示项目组信息列表 - * @param person - * @return - * @throws Exception - */ - public List listGroupByPerson( String person ) throws Exception { - if (StringUtils.isEmpty(person)) { - return new ArrayList<>(); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return projectGroupService.listGroupByPerson(emc, person); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据项目组ID,查询项目组内所有的项目ID列表 - * @param emc - * @param group - * @return - * @throws Exception - */ - public List listProjectIdByGroup(String group ) throws Exception { - if (StringUtils.isEmpty(group)) { - return new ArrayList<>(); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return projectGroupService.listProjectIdByGroup(emc, group); - } catch (Exception e) { - throw e; - } - } - - public List listGroupIdByProject( String projectId ) throws Exception { - List result = new ArrayList<>(); - if (StringUtils.isEmpty( projectId )) { - return result; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List reles = projectGroupService.listReleWithProject(emc, projectId); - if( ListTools.isNotEmpty( reles )) { - for( ProjectGroupRele rele : reles ) { - if( !result.contains( rele.getGroupId() )) { - result.add( rele.getGroupId() ); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - /** - * 判断是否存在分组和项目的关联 - * @param groupId - * @param projectId - * @return - * @throws Exception - */ - public boolean existsWithProjectAndGroup(String groupId, String projectId) throws Exception { - if (StringUtils.isEmpty( groupId )) { - return false; - } - if (StringUtils.isEmpty( projectId )) { - return false; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List reles = projectGroupService.listReleWithProjectAndGroup(emc, projectId, groupId ); - if( ListTools.isNotEmpty( reles )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupService.java deleted file mode 100644 index 22038129605838e2c86c79068cc761cf7a6b9f3a..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectGroupService.java +++ /dev/null @@ -1,204 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.ProjectGroup; -import com.x.teamwork.core.entity.ProjectGroupRele; - -/** - * 对项目组查询信息的服务 - * - * @author O2LEE - */ -class ProjectGroupService { - - protected List list(EntityManagerContainer emc, List groupIds) throws Exception { - Business business = new Business( emc ); - return business.projectGroupFactory().list(groupIds); - } - - /** - * 根据项目组ID查询项目组的信息 - * @param emc - * @param id - * @return - * @throws Exception - */ - protected ProjectGroup get( EntityManagerContainer emc, String id ) throws Exception { - Business business = new Business( emc ); - return business.projectGroupFactory().get( id ); - } - - /** - * 根据项目组ID删除项目组信息 - * @param emc - * @param id - * @throws Exception - */ - protected void delete( EntityManagerContainer emc, String id ) throws Exception { - Business business = new Business( emc ); - ProjectGroup projectGroup = emc.find( id, ProjectGroup.class ); - emc.beginTransaction( ProjectGroup.class ); - emc.beginTransaction( ProjectGroupRele.class ); - //先删除所有的关联 - List ids = business.projectGroupReleFactory().listByGroup( id ); - if( ListTools.isNotEmpty( ids )) { - List reles = business.projectGroupReleFactory().list( ids ); - for( ProjectGroupRele rele : reles ) { - emc.remove( rele , CheckRemoveType.all ); - } - } - if( projectGroup != null ) { - emc.remove( projectGroup , CheckRemoveType.all ); - } - emc.commit(); - } - - /** - * 向数据库持久化项目组信息 - * @param emc - * @param projectGroup - * @return - * @throws Exception - */ - protected ProjectGroup save( EntityManagerContainer emc, ProjectGroup object ) throws Exception { - ProjectGroup projectGroup = null; - if( StringUtils.isEmpty( object.getId() ) ){ - object.setId( ProjectGroup.createId() ); - } - projectGroup = emc.find( object.getId(), ProjectGroup.class ); - emc.beginTransaction( ProjectGroup.class ); - if( projectGroup == null ){ // 保存一个新的对象 - projectGroup = new ProjectGroup(); - object.copyTo( projectGroup ); - projectGroup.setId( object.getId() ); - emc.persist( projectGroup, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - if( StringUtils.isNotEmpty( projectGroup.getCreatorPerson() )) { - object.setCreatorPerson( projectGroup.getCreatorPerson() ); - } - object.copyTo( projectGroup, JpaObject.FieldsUnmodify ); - emc.check( projectGroup, CheckPersistType.all ); - } - emc.commit(); - return projectGroup; - } - - /** - * 将项目添加到项目组中去 - * @param emc - * @param projectId - * @param groupId - * @return - * @throws Exception - */ - protected ProjectGroupRele addToGroup( EntityManagerContainer emc, String projectId, String groupId ) throws Exception { - List reles = null; - Business business = new Business( emc ); - ProjectGroupRele projectGroupRele = null; - ProjectGroup projectGroup = emc.find( groupId, ProjectGroup.class ); - if( projectGroup != null ){ - reles = business.projectGroupReleFactory().listWithGroupAndProject(groupId, projectId); - if( ListTools.isEmpty( reles )) { - emc.beginTransaction( ProjectGroup.class ); - projectGroupRele = new ProjectGroupRele(); - projectGroupRele.setId( ProjectGroupRele.createId() ); - projectGroupRele.setProjectId(projectId); - projectGroupRele.setGroupId(groupId); - emc.persist( projectGroupRele, CheckPersistType.all ); - emc.commit(); - } - } - return projectGroupRele; - } - - /** - * 将项目从项目组中除去 - * @param emc - * @param projectId - * @param groupId - * @throws Exception - */ - protected void removeFromGroup( EntityManagerContainer emc, String projectId, String groupId ) throws Exception { - Business business = new Business( emc ); - List reles = business.projectGroupReleFactory().listWithGroupAndProject(groupId, projectId); - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( ProjectGroup.class ); - for( ProjectGroupRele rele : reles ) { - emc.remove( rele, CheckRemoveType.all ); - } - emc.commit(); - } - } - - /** - * 根据用户列示所有的项目组信息列表 - * @param emc - * @param person - * @return - * @throws Exception - */ - protected List listGroupByPerson( EntityManagerContainer emc, String person) throws Exception { - Business business = new Business( emc ); - return business.projectGroupFactory().listGroupByPerson(person); - } - - /** - * 根据用户列示所有的项目组信息ID列表 - * @param emc - * @param person - * @return - * @throws Exception - */ - protected List listGroupIdsByPerson( EntityManagerContainer emc, String person) throws Exception { - Business business = new Business( emc ); - return business.projectGroupFactory().listByPerson(person); - } - - /** - * 根据项目组ID,查询项目组内所有的项目ID列表 - * @param emc - * @param group - * @return - * @throws Exception - */ - protected List listProjectIdByGroup(EntityManagerContainer emc, String group) throws Exception { - Business business = new Business( emc ); - return business.projectGroupReleFactory().listProjectIdByGroup(group); - } - - /** - * 根据项目ID查询项目所有的项目组关联信息对象列表 - * @param emc - * @param projectId - * @return - * @throws Exception - */ - protected List listReleWithProject(EntityManagerContainer emc, String projectId) throws Exception { - Business business = new Business( emc ); - return business.projectGroupReleFactory().listReleWithProject( projectId ); - } - - /** - * 判断是否存在分组和项目的关联 - * @param emc - * @param projectId - * @param groupId - * @return - * @throws Exception - */ - protected List listReleWithProjectAndGroup(EntityManagerContainer emc, String projectId, String groupId) throws Exception { - Business business = new Business( emc ); - return business.projectGroupReleFactory().listWithGroupAndProject( groupId, projectId ); - } - - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectTemplatePersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectTemplatePersistService.java deleted file mode 100644 index fb85304a48c88069acf36ab140aa10f76085329e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/ProjectTemplatePersistService.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.assemble.common.date.DateOperation; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectTemplate; - -/** - * 对项目信息查询的服务 - * - * @author O2LEE - */ -public class ProjectTemplatePersistService { - - private ProjectTemplateService projectTemplateService = new ProjectTemplateService(); - private UserManagerService userManagerService = new UserManagerService(); - - public void delete( String flag, EffectivePerson currentPerson ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - Boolean hasDeletePermission = false; - Business business = null; - try (EntityManagerContainer bc = EntityManagerContainerFactory.instance().create()) { - business = new Business(bc); - } - if( business.isManager(currentPerson) ) { - hasDeletePermission = true; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - ProjectTemplate projectTemplate = projectTemplateService.get(emc, flag); - //管理员可以删除,创建者可以删除 - if( !hasDeletePermission ) { - //看看是不是项目创建者 - if( projectTemplate.getOwner().equalsIgnoreCase( currentPerson.getDistinguishedName() )) { - hasDeletePermission = true; - } - } - if( !hasDeletePermission ) { - throw new Exception("projectTemplate delete permission denied."); - }else { - projectTemplateService.delete( emc, flag ); - } - } catch (Exception e) { - throw e; - } - } - - public ProjectTemplate save( ProjectTemplate project, EffectivePerson effectivePerson ) throws Exception { - if ( project == null) { - throw new Exception("project is null."); - } - if( StringUtils.isEmpty( project.getTitle() )) { - project.setTitle("无标题项目("+ DateOperation.getNowDateTime() +")"); - } - if( project.getTitle().length() > 70 ) { - project.setTitle( project.getTitle().substring(0, 70) + "..." ); - } - if( StringUtils.isEmpty( project.getOwner()) ) { - project.setOwner(effectivePerson.getDistinguishedName()); - } - - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - project = projectTemplateService.save( emc, project ); - } catch (Exception e) { - throw e; - } - return project; - } - - /** - * 模板创建泳道 - * @param id - * @param effectivePerson - * @return - * @throws Exception - */ - public void createTaskList( ProjectTemplate template ,String person) throws Exception { - if ( template == null) { - throw new Exception("ProjectTemplate is empty!"); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - projectTemplateService.createDefaultTaskListForProjectTemplate(emc, person , template); - } catch (Exception e) { - throw e; - } - } - - /** - * 保存或者更新项目的图标信息 - * @param projectId - * @param icon - * @throws Exception - */ - public void saveProjectIcon( String projectId, String icon ) throws Exception { - if ( StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty!"); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Project project = emc.find( projectId, Project.class ); - if( project == null ) { - throw new Exception("Project not exists.id:" + projectId ); - }else { - emc.beginTransaction( Project.class ); - if( StringUtils.isEmpty( icon )) { - project.setIcon( null ); - }else { - project.setIcon(icon); - } - emc.check( project, CheckPersistType.all ); - emc.commit(); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 查询用户是否拥有创建项目的权限 - * 根据配置的权限来确定项目创建权限 - * @param effectivePerson - * @return - * @throws Exception - */ - public boolean checkPermissionForPersist( EffectivePerson effectivePerson, String project_creator_config ) throws Exception { - //根据配置为全员可以创建项目 - if( "ALL".equalsIgnoreCase( project_creator_config )) { - return true; - } - //系统管理员可以创建项目 - if( effectivePerson.isManager() ) { - return true; - } - //工作任务系统管理员可以创建项目 - if( userManagerService.isHasPlatformRole( effectivePerson.getDistinguishedName(), "TeamWorkManager" )) { - return true; - } - return false; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigPersistService.java deleted file mode 100644 index 586f11c885d7ad3d6fc2c2988d0048d3aac14223..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigPersistService.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.SystemConfig; -import com.x.teamwork.core.entity.SystemConfigLobValue; - -public class SystemConfigPersistService{ - - private Logger logger = LoggerFactory.getLogger( SystemConfigPersistService.class ); - private SystemConfigService systemConfigService = new SystemConfigService(); - - /** - * 初始化所有的系统设置 - * @throws Exception - */ - public void initSystemConfig() throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - String value = null, description = null, type = null, selectContent = null; - Boolean isMultiple = false; - Boolean isLob = false; - Integer ordernumber = 0; - String configCode = null; - String configName = null; - - configCode = "PROJECT_CREATOR"; - configName = "项目创建者权限"; - value = "ALL"; - type = "select"; - selectContent = "ALL|Manager"; - isMultiple = false; - isLob = false; - description = "指定项目创建者:可选值为ALL|Manager,单值。ALL:所有人均可创建项目;Manager:拥有TeamWorkManager角色和管理员可创建项目。"; - try { - checkAndInitSystemConfig( configCode, configName, value, isLob, description, type, selectContent, isMultiple, ++ordernumber ); - } catch (Exception e) { - logger.warn( "system init system config '" + configCode + "' got an exception." ); - logger.error(e); - } - } catch ( Exception e ) { - throw e; - } - } - - /** - * 保存系统设置信息 - * @param systemConfig - * @return - * @throws Exception - */ - public SystemConfig save( SystemConfig systemConfig ) throws Exception { - SystemConfig systemConfig_old = null; - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - systemConfig_old = business.systemConfigFactory().getWithConfigCode(systemConfig.getConfigCode()); - if( systemConfig_old != null ){ - systemConfig.setId( systemConfig_old.getId() ); - return systemConfigService.update( emc, systemConfig ); - }else{ - return systemConfigService.create( emc, systemConfig ); - } - } catch ( Exception e ) { - throw e; - } - } - - /** - * 检查配置项是否存在,如果不存在根据信息创建一个新的配置项 - * @param configCode - * @param configName - * @param configValue - * @param isLob - * @param description - * @throws Exception - */ - private void checkAndInitSystemConfig( String configCode, String configName, String configValue, Boolean isLob, String description, String type, String selectContent, Boolean isMultiple, Integer orderNumber ) throws Exception { - if( configCode == null || configCode.isEmpty() ){ - throw new Exception( "configCode is null!" ); - } - if( configName == null || configName.isEmpty() ){ - throw new Exception( "configName is null!" ); - } - Business business = null; - SystemConfig systemConfig = null; - SystemConfigLobValue reportSettingLobValue = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business(emc); - systemConfig = business.systemConfigFactory().getWithConfigCode( configCode ); - }catch( Exception e ){ - logger.warn( "system find system config{'configCode':'"+configCode+"'} got an exception. " ); - logger.error(e); - } - //如果配置不存在,则新建一个配置记录 - if( systemConfig == null ){ - systemConfig = new SystemConfig(); - systemConfig.setConfigCode( configCode ); - systemConfig.setConfigName( configName ); - systemConfig.setConfigValue( configValue ); - systemConfig.setDescription( description ); - systemConfig.setOrderNumber( orderNumber ); - systemConfig.setValueType( type ); - systemConfig.setIsLob( isLob ); - systemConfig.setSelectContent( selectContent ); - systemConfig.setIsMultiple( isMultiple ); - - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business(emc); - emc.beginTransaction( SystemConfig.class ); - - //对长文本记录进行操作 - if( isLob ) { - emc.beginTransaction( SystemConfigLobValue.class ); - reportSettingLobValue = emc.find( systemConfig.getId(), SystemConfigLobValue.class ); - if( reportSettingLobValue != null ) { - reportSettingLobValue.setLobValue( configValue );//更新值 - emc.check( reportSettingLobValue, CheckPersistType.all ); - }else { - //没有,就创建一个LOB值记录 - reportSettingLobValue = new SystemConfigLobValue(); - reportSettingLobValue.setId( systemConfig.getId() ); - reportSettingLobValue.setLobValue( configValue ); - emc.persist( reportSettingLobValue, CheckPersistType.all ); - } - systemConfig.setConfigValue( "LobValue" ); - } - emc.persist( systemConfig, CheckPersistType.all ); - emc.commit(); - }catch( Exception e ){ - logger.warn("attendance system persist new system config{'configCode':'"+configCode+"'} got an exception. " ); - logger.error(e); - } - }else{ - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - systemConfig = emc.find( systemConfig.getId(), SystemConfig.class ); - systemConfig.setIsLob( isLob ); - emc.beginTransaction( SystemConfig.class ); - - if( !configName.equals( systemConfig.getConfigName() ) ){ - systemConfig.setConfigName( configName ); - } - if( orderNumber != systemConfig.getOrderNumber() ){ - systemConfig.setOrderNumber(orderNumber); - } - if( description != null ){ - systemConfig.setDescription( description ); - } - if( type != null ){ - systemConfig.setValueType( type ); - } - if( selectContent != null ){ - systemConfig.setSelectContent( selectContent ); - } - if( isMultiple != null ){ - systemConfig.setIsMultiple( isMultiple ); - } - - //对长文本记录进行操作 - if( isLob ) { - emc.beginTransaction( SystemConfigLobValue.class ); - reportSettingLobValue = emc.find( systemConfig.getId(), SystemConfigLobValue.class ); - if( reportSettingLobValue != null ) { - //reportSettingLobValue.setLobValue( configValue );//更新值 - emc.check( reportSettingLobValue, CheckPersistType.all ); - }else { - //没有,就创建一个LOB值记录 - reportSettingLobValue = new SystemConfigLobValue(); - reportSettingLobValue.setId( systemConfig.getId() ); - reportSettingLobValue.setLobValue( configValue ); - emc.check( reportSettingLobValue, CheckPersistType.all ); - } - systemConfig.setConfigValue( "LobValue" ); - } - - emc.check( systemConfig, CheckPersistType.all ); - emc.commit(); - }catch( Exception e ){ - logger.warn("attendance system update system config{'configCode':'"+configCode+"'} got an exception. " ); - logger.error(e); - } - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigQueryService.java deleted file mode 100644 index f663de571670dc93fb62a1c321d50f03d736246e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigQueryService.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.SystemConfig; -import com.x.teamwork.core.entity.SystemConfigLobValue; - -public class SystemConfigQueryService{ - - private SystemConfigService systemConfigService = new SystemConfigService(); - - /** - * 获取所有的系统设置信息 - * @return - * @throws Exception - */ - public List listAll() throws Exception { - List configs = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - configs = systemConfigService.listAll( emc ); - if( ListTools.isNotEmpty( configs )) { - for( SystemConfig config : configs ) { - if( config.getIsLob() ) { - config.setConfigValue( getLobValueWithId( config.getId() ) ); - } - } - } - } catch ( Exception e ) { - throw e; - } - return configs; - } - - /** - * 根据ID获取指定的系统设置信息 - * @param flag - * @return - * @throws Exception - */ - public SystemConfig get(String flag) throws Exception { - SystemConfig config = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - config = systemConfigService.get( emc, flag ); - if( config != null ) { - if( config.getIsLob() ) { - config.setConfigValue( getLobValueWithId( config.getId() ) ); - } - } - } catch ( Exception e ) { - throw e; - } - return config; - } - - /** - * 根据设置编码获取指定的设置信息 - * @param code - * @return - * @throws Exception - */ - public SystemConfig getByCode( String code ) throws Exception { - SystemConfig config = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - config = systemConfigService.getByCode( emc, code ); - if( config != null ) { - if( config.getIsLob() ) { - config.setConfigValue( getLobValueWithId( config.getId() ) ); - } - } - } catch ( Exception e ) { - throw e; - } - return config; - } - - /** - * 根据ID获取指定的设置信息的具体配置值 - * @param id - * @return - * @throws Exception - */ - public String getValueByCode( String code ) throws Exception { - SystemConfig systemConfig = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - systemConfig = systemConfigService.getByCode( emc, code ); - if( systemConfig != null ) { - if( systemConfig.getIsLob() ) { - return getLobValueWithId( systemConfig.getId() ); - }else { - return systemConfig.getConfigValue(); - } - } - } catch ( Exception e ) { - throw e; - } - return null; - } - - /** - * 根据编码获取指定的设置信息的具体配置值 - * @param code - * @return - * @throws Exception - */ - public String getValueById( String id ) throws Exception { - SystemConfig systemConfig = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - systemConfig = emc.find( id, SystemConfig.class ); - if( systemConfig != null ) { - if( !systemConfig.getIsLob() ) { - return systemConfig.getConfigValue(); - }else { - return getLobValueWithId( id ); - } - } - } catch ( Exception e ) { - throw e; - } - return null; - } - - /** - * 根据ID获取指定配置的LOB值 - * @param id - * @return - * @throws Exception - */ - private String getLobValueWithId( String id ) throws Exception { - SystemConfigLobValue lobValue = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - lobValue = emc.find( id, SystemConfigLobValue.class ); - if( lobValue != null ) { - return lobValue.getLobValue(); - } - } catch ( Exception e ) { - throw e; - } - return null; - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigService.java deleted file mode 100644 index 20b0797ad839dfbdfa65567d5121919d7906a6b5..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/SystemConfigService.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.SystemConfig; -import com.x.teamwork.core.entity.SystemConfigLobValue; - -class SystemConfigService { - - /** - * 获取所有的系统设置信息 - * @return - * @throws Exception - */ - protected List listAll( EntityManagerContainer emc ) throws Exception { - Business business = new Business( emc ); - return business.systemConfigFactory().listAll(); - } - - /** - * 根据ID获取指定的系统设置信息 - * @param flag - * @return - * @throws Exception - */ - protected SystemConfig get( EntityManagerContainer emc, String flag ) throws Exception { - return emc.flag( flag, SystemConfig.class); - } - - /** - * 根据ID删除指定的系统设置信息 - * @param id - * @throws Exception - */ - protected void delete( EntityManagerContainer emc, String id ) throws Exception { - SystemConfig systemConfig = null; - if( id == null || id.isEmpty() ){ - throw new Exception( "id is null, system can not delete any object." ); - } - systemConfig = emc.find( id, SystemConfig.class ); - if ( null == systemConfig ) { - throw new Exception( "object is not exist {'id':'"+ id +"'}" ); - }else{ - emc.beginTransaction( SystemConfig.class ); - emc.remove( systemConfig, CheckRemoveType.all ); - emc.commit(); - } - } - /** - * 根据设置编码获取指定的设置信息 - * @param code - * @return - * @throws Exception - */ - protected SystemConfig getByCode( EntityManagerContainer emc, String code ) throws Exception { - List systemConfigList = null; - SystemConfig systemConfig = null; - List ids = null; - Business business = new Business( emc ); - if( code == null || code.isEmpty() ){ - throw new Exception( "code is null, system can not query any object." ); - } - - ids = business.systemConfigFactory().listIdsByCode(code); - if( ids != null && !ids.isEmpty() ){ - systemConfigList = business.systemConfigFactory().list( ids ); - } - - if( systemConfigList != null && !systemConfigList.isEmpty() ){ - for( int i=0; i< systemConfigList.size(); i++ ){ - if( i == 0 ){ - systemConfig = systemConfigList.get( i ); - }else{ - emc.beginTransaction( SystemConfig.class ); - emc.remove( systemConfigList.get( i ), CheckRemoveType.all ); - emc.commit(); - } - } - } - return systemConfig; - } - - /** - * 创建系统设置信息 - * @param systemConfig - * @return - * @throws Exception - */ - protected SystemConfig create( EntityManagerContainer emc, SystemConfig systemConfig ) throws Exception { - SystemConfig systemConfig_old = null; - SystemConfigLobValue reportSettingLobValue = null; - - systemConfig_old = emc.find( systemConfig.getId(), SystemConfig.class ); - if( systemConfig_old != null ){ - throw new Exception("systemConfig{'id':' "+ systemConfig.getId() +" '} exists, can not create new object"); - }else{ - emc.beginTransaction( SystemConfig.class ); - - //对长文本记录进行操作 - if( systemConfig.getIsLob() ) { - emc.beginTransaction( SystemConfigLobValue.class ); - reportSettingLobValue = emc.find( systemConfig.getId(), SystemConfigLobValue.class ); - if( reportSettingLobValue != null ) { - reportSettingLobValue.setLobValue( systemConfig.getConfigValue() );//更新值 - emc.check( reportSettingLobValue, CheckPersistType.all ); - }else { - //没有,就创建一个LOB值记录 - reportSettingLobValue = new SystemConfigLobValue(); - reportSettingLobValue.setId( systemConfig.getId() ); - reportSettingLobValue.setLobValue( systemConfig.getConfigValue() ); - emc.persist( reportSettingLobValue, CheckPersistType.all ); - } - systemConfig.setConfigValue( "LobValue" ); - } - - emc.persist( systemConfig, CheckPersistType.all); - emc.commit(); - } - return systemConfig; - } - - /** - * 更新系统设置信息 - * @param systemConfig - * @return - * @throws Exception - */ - protected SystemConfig update( EntityManagerContainer emc, SystemConfig systemConfig ) throws Exception { - if( systemConfig == null ){ - throw new Exception("systemConfig is null, can not update object!"); - } - SystemConfig systemConfig_old = null; - SystemConfigLobValue reportSettingLobValue = null; - Business business = new Business(emc); - systemConfig_old = business.systemConfigFactory().getWithConfigCode(systemConfig.getConfigCode()); - if( systemConfig_old != null ){ - emc.beginTransaction( SystemConfig.class ); - systemConfig_old.setConfigCode( systemConfig.getConfigCode() ); - systemConfig_old.setConfigName( systemConfig.getConfigName() ); - systemConfig_old.setConfigValue( systemConfig.getConfigValue() ); - systemConfig_old.setOrderNumber( systemConfig.getOrderNumber() ); - systemConfig_old.setIsLob( systemConfig.getIsLob() ); - - //对长文本记录进行操作 - if( systemConfig_old.getIsLob() ) { - emc.beginTransaction( SystemConfigLobValue.class ); - reportSettingLobValue = emc.find( systemConfig.getId(), SystemConfigLobValue.class ); - if( reportSettingLobValue != null ) { - reportSettingLobValue.setLobValue( systemConfig.getConfigValue() );//更新值 - emc.check( reportSettingLobValue, CheckPersistType.all ); - }else { - //没有,就创建一个LOB值记录 - reportSettingLobValue = new SystemConfigLobValue(); - reportSettingLobValue.setId( systemConfig.getId() ); - reportSettingLobValue.setLobValue( systemConfig.getConfigValue() ); - emc.persist( reportSettingLobValue, CheckPersistType.all ); - } - systemConfig_old.setConfigValue( "LobValue" ); - } - emc.check( systemConfig_old, CheckPersistType.all); - emc.commit(); - }else{ - throw new Exception("old object systemConfig{'id':' "+ systemConfig.getId() +" '} is not exists. "); - } - - return systemConfig_old; - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupPersistService.java deleted file mode 100644 index c0fb6f01280df2f1cfb222f9bc80ad1123b09571..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupPersistService.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskGroupRele; - -public class TaskGroupPersistService { - - private TaskGroupService taskGroupService = new TaskGroupService(); - - /** - * 删除工作任务组信息 - * @param flag - * @param effectivePerson - * @throws Exception - */ - public void delete( String id, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskGroupService.delete( emc, id ); - } catch (Exception e) { - throw e; - } - } - - /** - * 保存工作任务组信息 - * @param object - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskGroup save( TaskGroup object, EffectivePerson effectivePerson ) throws Exception { - if ( object == null) { - throw new Exception("object is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - object.setCreatorPerson( effectivePerson.getDistinguishedName() ); - object.setOwner( effectivePerson.getDistinguishedName() ); - object = taskGroupService.save( emc, object ); - } catch (Exception e) { - throw e; - } - return object; - } - - /** - * 将工作任务添加到工作任务组中去 - * @param taskId - * @param groupId - * @return - * @throws Exception - */ - public TaskGroupRele addTaskToGroup( String taskId, String groupId ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - if ( StringUtils.isEmpty( groupId )) { - throw new Exception("groupId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskGroupService.addTaskToGroup(emc, taskId, groupId); - } catch (Exception e) { - throw e; - } - } - - /** - * 将工作任务从工作任务组中除去 - * @param taskId - * @param groupId - * @throws Exception - */ - public void removeFromGroup( String taskId, String groupId ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - if ( StringUtils.isEmpty( groupId )) { - throw new Exception("groupId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskGroupService.removeFromGroup( emc, groupId, taskId ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据工作任务ID,刷新该工作涉及到的所有的工作任务组的工作任务数量 - * @param taskId - * @throws Exception - */ - public void refreshTaskCountInTaskGroupWithTaskId( String person, String taskId) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskGroupService.refreshTaskCountInTaskGroupWithTaskId( emc, person, taskId ); - } catch (Exception e) { - throw e; - } - } - - public void updateTaskTotal(String taskGroupId, int taskTotal, int completedTotal, int overtimeTotal) throws Exception { - if ( StringUtils.isEmpty( taskGroupId )) { - throw new Exception("taskGroupId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskGroup taskGroup = emc.find( taskGroupId, TaskGroup.class ); - taskGroup.setTaskTotal(taskTotal); - taskGroup.setCompletedTotal(completedTotal); - taskGroup.setOvertimeTotal(overtimeTotal); - emc.beginTransaction( TaskGroup.class ); - emc.check( taskGroup, CheckPersistType.all ); - emc.commit(); - - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupQueryService.java deleted file mode 100644 index 58b4f6c27be3bcfc3c5f03f4f9835f8cc4ead07f..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupQueryService.java +++ /dev/null @@ -1,234 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskGroupRele; - - -/** - * 对工作任务组信息查询的服务 - * - * @author O2LEE - */ -public class TaskGroupQueryService { - - private TaskGroupService taskGroupService = new TaskGroupService(); - private TaskService taskService = new TaskService(); - - public List list(List groupIds) throws Exception { - if ( ListTools.isEmpty( groupIds )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskGroupService.list( emc, groupIds ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据工作任务组的标识查询工作任务组信息 - * @param id - * @return - * @throws Exception - */ - public TaskGroup get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskGroupService.get(emc, id ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据用户列示工作任务组信息列表 - * @param person - * @param project - * @return - * @throws Exception - */ - public List listGroupByPersonAndProject( EffectivePerson effectivePerson, String project ) throws Exception { - if ( effectivePerson == null ) { - return new ArrayList<>(); - } - if ( StringUtils.isEmpty( project ) ) { - return new ArrayList<>(); - } - List taskGroupList = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskGroupList = taskGroupService.listGroupByPersonAndProject(emc, effectivePerson.getDistinguishedName(), project ); - //如果用户在该项目中没有工作任务组,则需要创建一个默认的工作任务组 - if( ListTools.isEmpty( taskGroupList )) { - taskGroupList = createDefaultTaskGroupForPerson( emc, effectivePerson, project ); - } - } catch (Exception e) { - throw e; - } - return taskGroupList; - } - - /** - * 根据用户列示所有的工作任务组信息ID列表 - * @param person - * @param project - * @return - * @throws Exception - */ - public List listGroupIdsByPersonAndProject( EffectivePerson effectivePerson, String project ) throws Exception { - if ( effectivePerson == null ) { - return new ArrayList<>(); - } - if ( StringUtils.isEmpty( project ) ) { - return new ArrayList<>(); - } - List taskGroupListIds = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskGroupListIds = taskGroupService.listGroupIdsByPersonAndProject(emc, effectivePerson.getDistinguishedName(), project ); - //如果用户在该项目中没有工作任务组,则需要创建一个默认的工作任务组 - if( ListTools.isEmpty( taskGroupListIds )) { - List taskGroupList = null; - taskGroupList = createDefaultTaskGroupForPerson( emc, effectivePerson, project ); - taskGroupListIds.add(taskGroupList.get(0).getId()); - } - } catch (Exception e) { - throw e; - } - return taskGroupListIds; - } - - /** - * 为指定项目初始化一个工作任务组,并且将所有的工作任务加入到工作任务组中 - * @param emc - * @param effectivePerson - * @param project - * @return - * @throws Exception - */ - private List createDefaultTaskGroupForPerson( EntityManagerContainer emc, EffectivePerson effectivePerson, String project ) throws Exception { - String personName = null; - List taskGroupList = new ArrayList<>(); - personName = effectivePerson.getDistinguishedName(); - //查询用户在该项目中所有的任务列表,添加到默认的工作任务组里 - //List taskList = taskService.listWithPermission(emc, 999, project, personName, identityNames, unitNames, groupNames ); - - List taskIds = taskService.listTaskIdsWithPermissionInProject( emc, 999, project, personName ); - List taskList = taskService.list(emc, taskIds ); - TaskGroup group = taskGroupService.createDefaultTaskGroupForPerson( emc, personName, project, taskList ); - taskGroupList.add( group ); - return taskGroupList; - } - - /** - * 根据工作任务组ID,查询工作任务组内所有的工作任务ID列表 - * @param emc - * @param group - * @return - * @throws Exception - */ - public List listTaskIdByGroup(String group ) throws Exception { - if (StringUtils.isEmpty(group)) { - return new ArrayList<>(); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskGroupService.listTaskIdByGroup(emc, group); - } catch (Exception e) { - throw e; - } - } - - public List listGroupIdsByTask( String taskId ) throws Exception { - List result = new ArrayList<>(); - if (StringUtils.isEmpty( taskId )) { - return result; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List reles = taskGroupService.listReleWithTask(emc, taskId); - if( ListTools.isNotEmpty( reles )) { - for( TaskGroupRele rele : reles ) { - if( !result.contains( rele.getTaskGroupId() )) { - result.add( rele.getTaskGroupId() ); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - /** - * 判断是否存在分组和工作任务的关联 - * @param taskId - * @param groupId - * @return - * @throws Exception - */ - public boolean existsWithTaskAndGroup(String groupId, String taskId) throws Exception { - if (StringUtils.isEmpty( groupId )) { - return false; - } - if (StringUtils.isEmpty( taskId )) { - return false; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List reles = taskGroupService.listReleWithTaskAndGroup(emc, taskId, groupId ); - if( ListTools.isNotEmpty( reles )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 为指定的项目创建一个默认的工作任务组(我的任务) - * @param effectivePerson - * @param projectId - * @return - * @throws Exception - */ - public TaskGroup getDefaultTaskGroupWithProject(EffectivePerson effectivePerson, String projectId ) throws Exception { - if (StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty!"); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null!"); - } - TaskGroup taskGroup = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List groups = null; - List groupIds = taskGroupService.listGroupIdsByPersonAndProject(emc, effectivePerson.getDistinguishedName(), projectId); - if( ListTools.isNotEmpty( groupIds )) { - groups = taskGroupService.list( emc, groupIds ); - } - if( ListTools.isEmpty( groups )) { - //需要新建一个默认工作任务组 - groups = createDefaultTaskGroupForPerson( emc, effectivePerson, projectId ); - } - if( ListTools.isNotEmpty( groups )) { - for( TaskGroup group : groups ) { - if( "system".equalsIgnoreCase( group.getCreatorPerson() ) && "默认工作任务组".equalsIgnoreCase( group.getMemo())) { - taskGroup = group; - } - } - } - } catch (Exception e) { - throw e; - } - return taskGroup; - } - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupService.java deleted file mode 100644 index 492ebdd06c807ac363ec0a9ea7a6d2c8e3f0a282..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskGroupService.java +++ /dev/null @@ -1,337 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskGroupRele; - -/** - * 对工作任务组查询信息的服务 - * - * @author O2LEE - */ -class TaskGroupService { - - protected List list(EntityManagerContainer emc, List groupIds) throws Exception { - Business business = new Business( emc ); - return business.taskGroupFactory().list(groupIds); - } - - /** - * 根据工作任务组ID查询工作任务组的信息 - * @param emc - * @param id - * @return - * @throws Exception - */ - protected TaskGroup get( EntityManagerContainer emc, String id ) throws Exception { - Business business = new Business( emc ); - return business.taskGroupFactory().get( id ); - } - - /** - * 根据工作任务组ID删除工作任务组信息 - * @param emc - * @param id - * @throws Exception - */ - protected void delete( EntityManagerContainer emc, String id ) throws Exception { - Business business = new Business( emc ); - TaskGroup taskGroup = emc.find( id, TaskGroup.class ); - emc.beginTransaction( TaskGroup.class ); - emc.beginTransaction( TaskGroupRele.class ); - //先删除所有的关联 - List ids = business.taskGroupReleFactory().listByGroup( id ); - if( ListTools.isNotEmpty( ids )) { - List reles = business.taskGroupReleFactory().list( ids ); - for( TaskGroupRele rele : reles ) { - emc.remove( rele , CheckRemoveType.all ); - } - } - if( taskGroup != null ) { - emc.remove( taskGroup , CheckRemoveType.all ); - } - emc.commit(); - } - - /** - * 向数据库持久化工作任务组信息 - * @param emc - * @param taskGroup - * @return - * @throws Exception - */ - protected TaskGroup save( EntityManagerContainer emc, TaskGroup object ) throws Exception { - TaskGroup taskGroup = null; - if( StringUtils.isEmpty( object.getId() ) ){ - object.setId( TaskGroup.createId() ); - } - taskGroup = emc.find( object.getId(), TaskGroup.class ); - emc.beginTransaction( TaskGroup.class ); - if( taskGroup == null ){ // 保存一个新的对象 - taskGroup = new TaskGroup(); - object.copyTo( taskGroup ); - taskGroup.setId( object.getId() ); - emc.persist( taskGroup, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - if( StringUtils.isNotEmpty( taskGroup.getCreatorPerson() )) { - object.setCreatorPerson( taskGroup.getCreatorPerson() ); - } - object.copyTo( taskGroup, JpaObject.FieldsUnmodify ); - emc.check( taskGroup, CheckPersistType.all ); - } - emc.commit(); - return taskGroup; - } - - /** - * 将工作任务添加到工作任务组中去 - * @param emc - * @param taskId - * @param groupId - * @return - * @throws Exception - */ - protected TaskGroupRele addTaskToGroup( EntityManagerContainer emc, String taskId, String groupId ) throws Exception { - List reles = null; - Business business = new Business( emc ); - TaskGroupRele taskGroupRele = null; - TaskGroup taskGroup = emc.find( groupId, TaskGroup.class ); - if( taskGroup != null ){ - reles = business.taskGroupReleFactory().listWithGroupAndTask( groupId, taskId ); - if( ListTools.isEmpty( reles )) { - emc.beginTransaction( TaskGroupRele.class ); - taskGroupRele = new TaskGroupRele(); - taskGroupRele.setId( TaskGroupRele.createId() ); - taskGroupRele.setProject( taskGroup.getProject() ); - taskGroupRele.setTaskGroupId( groupId ); - taskGroupRele.setTaskId( taskId ); - emc.persist( taskGroupRele, CheckPersistType.all ); - emc.commit(); - } - } - return taskGroupRele; - } - - /** - * 将工作任务从工作任务组中除去 - * @param emc - * @param taskId - * @param groupId - * @throws Exception - */ - protected void removeFromGroup( EntityManagerContainer emc, String taskId, String groupId ) throws Exception { - Business business = new Business( emc ); - List reles = business.taskGroupReleFactory().listWithGroupAndTask( groupId, taskId ); - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( TaskGroup.class ); - for( TaskGroupRele rele : reles ) { - emc.remove( rele, CheckRemoveType.all ); - } - emc.commit(); - } - } - - /** - * 根据用户列示所有的工作任务组信息列表 - * @param emc - * @param person - * @param project - * @return - * @throws Exception - */ - protected List listGroupByPersonAndProject( EntityManagerContainer emc, String person, String project ) throws Exception { - Business business = new Business( emc ); - return business.taskGroupFactory().listGroupByPersonAndProject(person, project); - } - - /** - * 根据用户列示所有的工作任务组信息ID列表 - * @param emc - * @param person - * @param project - * @return - * @throws Exception - */ - protected List listGroupIdsByPersonAndProject( EntityManagerContainer emc, String person, String project ) throws Exception { - Business business = new Business( emc ); - return business.taskGroupFactory().listByPersonAndProject(person, project); - } - - /** - * 根据工作任务组ID,查询工作任务组内所有的工作任务ID列表 - * @param emc - * @param group - * @return - * @throws Exception - */ - protected List listTaskIdByGroup(EntityManagerContainer emc, String group) throws Exception { - Business business = new Business( emc ); - return business.taskGroupReleFactory().listTaskIdByGroup(group); - } - - /** - * 根据工作任务ID查询工作任务所有的工作任务组关联信息对象列表 - * @param emc - * @param taskId - * @return - * @throws Exception - */ - protected List listReleWithTask(EntityManagerContainer emc, String taskId ) throws Exception { - Business business = new Business( emc ); - return business.taskGroupReleFactory().listTaskReleWithTask(taskId); - } - - /** - * 根据项目ID查询工作任务所有的工作任务组关联信息对象列表 - * @param emc - * @param projectId - * @return - * @throws Exception - */ - protected List listReleWithProject(EntityManagerContainer emc, String projectId ) throws Exception { - Business business = new Business( emc ); - return business.taskGroupReleFactory().listTaskReleWithProject(projectId); - } - - /** - * 判断是否存在分组和工作任务的关联 - * @param emc - * @param taskId - * @param groupId - * @return - * @throws Exception - */ - protected List listReleWithTaskAndGroup(EntityManagerContainer emc, String taskId, String groupId) throws Exception { - Business business = new Business( emc ); - return business.taskGroupReleFactory().listWithGroupAndTask( groupId, taskId); - } - - /** - * 为用户在当前项目创建一个默认的工作任务组 - * @param person - * @param project - * @return - * @throws Exception - */ - protected TaskGroup createDefaultTaskGroupForPerson(EntityManagerContainer emc, String person, String project, List taskList ) throws Exception { - TaskGroup taskGroup = new TaskGroup(); - taskGroup.setId( TaskGroup.createId() ); - taskGroup.setName( "所有工作" ); - taskGroup.setProject(project); - taskGroup.setOwner( person ); - taskGroup.setCreatorPerson( "System" ); - taskGroup.setOrder(0); - taskGroup.setMemo( "默认工作任务组" ); - emc.beginTransaction( TaskGroup.class ); - emc.persist( taskGroup, CheckPersistType.all ); - emc.commit(); - - if( ListTools.isNotEmpty( taskList )) { - TaskGroupRele taskGroupRele = null; - emc.beginTransaction( TaskGroup.class ); - emc.beginTransaction( TaskGroupRele.class ); - for( Task task : taskList ) { - //将工作与工作任务组关联起来 - taskGroupRele = new TaskGroupRele(); - taskGroupRele.setId( TaskGroupRele.createId() ); - taskGroupRele.setProject( project ); - taskGroupRele.setTaskId( task.getId() ); - taskGroupRele.setTaskGroupId( taskGroup.getId() ); - taskGroupRele.setOrder(0); - emc.persist( taskGroupRele, CheckPersistType.all ); - - taskGroup.addTaskTotal(1); - if( task.getCompleted() ) { - taskGroup.addCompletedTotal(1); - } - if( task.getOvertime() ) { - taskGroup.addOvertimeTotal(1); - } - } - emc.beginTransaction( TaskGroup.class ); - emc.check( taskGroup, CheckPersistType.all ); - emc.commit(); - } - return taskGroup; - } - - /** - * 根据工作任务组ID,重新计划任务组中所有任务的计数 - * @param taskGroupId - * @return - * @throws Exception - */ - protected TaskGroup refreshTaskCountInTaskGroup( EntityManagerContainer emc, String person, String taskGroupId ) throws Exception { - Business business = new Business( emc ); - TaskGroup taskGroup = emc.find( taskGroupId, TaskGroup.class ); - List taskListIds = null; - List taskIds = null; - if( taskGroup == null ) { - throw new Exception("taskGroup not exists. ID=" + taskGroupId ); - } - if( "所有工作".equals( taskGroup.getName()) && "System".equalsIgnoreCase( taskGroup.getCreatorPerson() )) { - //工作的任务组,查询有权限看到的所有工作 - taskIds = business.reviewFactory().listTaskIdsWithPersonAndProject( taskGroup.getProject(), person, 2000 ); - }else { - taskListIds = business.taskListFactory().listTaskListIdsWithTaskGroup(taskGroupId); - taskIds = business.taskListFactory().listTaskIdWithTaskListId( taskListIds ); - } - - taskGroup.setTaskTotal( 0 ); - taskGroup.setCompletedTotal( 0 ); - taskGroup.setOvertimeTotal( 0 ); - if( ListTools.isNotEmpty( taskIds )) { - List taskList = business.taskFactory().list( taskIds ); - if( ListTools.isNotEmpty( taskList )) { - for( Task task : taskList ) { - taskGroup.addTaskTotal(1); - if( task.getCompleted() ) { - taskGroup.addCompletedTotal(1); - } - if( task.getOvertime() ) { - taskGroup.addOvertimeTotal(1); - } - } - } - } - emc.beginTransaction( TaskGroup.class ); - emc.check( taskGroup, CheckPersistType.all ); - emc.commit(); - return taskGroup; - } - - /** - * 重新计算工作任务组关联的任务数量 - * @param releTaskGroupIds - * @throws Exception - */ - public void refreshTaskCountInTaskGroup(EntityManagerContainer emc, String person, List releTaskGroupIds) throws Exception { - if( ListTools.isNotEmpty( releTaskGroupIds )) { - for( String releTaskGroupId : releTaskGroupIds ) { - refreshTaskCountInTaskGroup( emc, person, releTaskGroupId ); - } - } - } - - /** - * 根据工作任务ID,刷新该工作涉及到的所有的工作任务组的工作任务数量 - * @param emc - * @param taskId - * @throws Exception - */ - public void refreshTaskCountInTaskGroupWithTaskId(EntityManagerContainer emc, String person, String taskId) throws Exception { - Business business = new Business( emc ); - List taskGroupIds = business.taskListFactory().listGroupIdsWithTask(taskId); - refreshTaskCountInTaskGroup(emc, person, taskGroupIds ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListPersistService.java deleted file mode 100644 index 3b540c62b3e9509a3d4f419d06b0059872dd55f0..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListPersistService.java +++ /dev/null @@ -1,550 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskListRele; - -/** - * 对工作任务信息查询的服务 - */ -public class TaskListPersistService { - - private TaskListService taskListService = new TaskListService(); - private TaskGroupService taskGroupService = new TaskGroupService(); - - /** - * 根据工作任务列表标识删除工作任务列表信息(物理删除,包括所有的关联信息) - * @param id - * @param effectivePerson - * @throws Exception - */ - public void delete( String id, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskList taskList = taskListService.get(emc, id); - if( taskList.getCreatorPerson().equals( effectivePerson.getDistinguishedName() ) - || taskList.getOwner().equals( effectivePerson.getDistinguishedName() )) { - taskListService.remove( emc, id ); - }else { - throw new Exception("taskList delete permission denied."); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 保存一个工作任务列表信息 - * @param taskList - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskList save( TaskList taskList, EffectivePerson effectivePerson ) throws Exception { - if ( taskList == null) { - throw new Exception( "taskList is null." ); - } - taskList.setCreatorPerson( effectivePerson.getDistinguishedName() ); - if( StringUtils.isEmpty( taskList.getOwner() )) { - taskList.setOwner( effectivePerson.getDistinguishedName() ); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = taskListService.save( emc, taskList ); - } catch (Exception e) { - throw e; - } - return taskList; - } - - /** - * 将一个工作任务添加至指定的列表 - * @param taskId - * @param listIds - * @param orderNumber - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskListRele addTaskToTaskListWithOrderNumber( String taskId, List listIds, Integer orderNumber, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - if ( ListTools.isNotEmpty( listIds )) { - List taskLists = null; - TaskListRele taskListRele =null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( ListTools.isNotEmpty( listIds )) { - taskLists = emc.list( TaskList.class, listIds ); - } - //逐个添加任务与列表的关联 - if( ListTools.isNotEmpty( taskLists )) { - for( TaskList taskList : taskLists ) { - addTaskToTaskListWithOrderNumber( taskId, taskList.getId(), orderNumber, effectivePerson ); - } - } - return taskListRele; - } catch (Exception e) { - throw e; - } - } - return null; - } - - /** - * 将一个工作任务添加至指定的列表 - * @param taskId - * @param listIds - * @param behindTaskId - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskListRele addTaskToTaskListWithBehindTask( String taskId, List listIds, String behindTaskId, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - if ( ListTools.isEmpty( listIds )) { - throw new Exception("listIds is empty."); - } - List taskLists = null; - TaskListRele taskListRele =null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( ListTools.isNotEmpty( listIds )) { - taskLists = emc.list( TaskList.class, listIds ); - } - //逐个添加任务与列表的关联 - if( ListTools.isNotEmpty( taskLists )) { - for( TaskList taskList : taskLists ) { - addTaskToTaskListWithBehindTask( taskId, taskList.getId(), behindTaskId, effectivePerson ); - } - } - return taskListRele; - } catch (Exception e) { - throw e; - } - } - - /** - * 将一个工作任务添加至指定的列表 - * @param taskId - * @param listId - * @param orderNumber - * @param effectivePerson - * @return - * @throws Exception - */ - public void addTaskToTaskListWithOrderNumber( String taskId, String listId, Integer orderNumber, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - return; - } - if ( StringUtils.isEmpty( listId )) { - return; - } - TaskList taskList = null; - String taskListId_old = null; - String taskGroupId = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = emc.find( listId, TaskList.class ); - if( taskList != null ) { - taskGroupId = taskList.getTaskGroup(); - //查询工作任务在当前的taskList所在的group下的taskList关联,有可能未归类,可能为空的 - taskListId_old = getTaskListWithTaskAndGroup( emc, taskId, taskGroupId ); - - //判断一下,TaskList是否需要改变,也许只是调整在同一个列表中的位置而已 - if( taskListId_old != null && taskListId_old.equalsIgnoreCase( listId )) { - //不需要创建关联,只是调整序号 - orderTaskInTaskList( emc, taskId, listId, orderNumber ); - }else { - //需要更改列表,先删除原来的关联, 再创建新的关联 - //taskListId_old为空的情况不更改 - moveTaskFromOldListToNewList( emc, taskId, taskListId_old, listId ); - orderTaskInTaskList( emc, taskId, listId, orderNumber ); - } - } - } catch (Exception e) { - throw e; - } - } - - /** - * 将一个工作任务添加至指定的列表 - * @param taskId - * @param listId - * @param behindTaskId - * @param effectivePerson - * @throws Exception - */ - public void addTaskToTaskListWithBehindTask( String taskId, String listId, String behindTaskId, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - return; - } - if ( StringUtils.isEmpty( listId )) { - return; - } - TaskList taskList = null; - String taskListId_old = null; - String taskGroupId = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = emc.find( listId, TaskList.class ); - if( taskList != null ) { - taskGroupId = taskList.getTaskGroup(); - //查询工作任务在当前的taskList所在的group下的taskList关联,有可能未归类,可能为空的 - taskListId_old = getTaskListWithTaskAndGroup( emc, taskId, taskGroupId ); - - //判断一下,TaskList是否需要改变,也许只是调整在同一个列表中的位置而已 - if( taskListId_old != null && taskListId_old.equalsIgnoreCase( listId )) { - //不需要创建关联,只是调整序号 - orderTaskInTaskList( emc, taskId, listId, behindTaskId ); - }else { - //需要更改列表,先删除原来的关联, 再创建新的关联 - //taskListId_old为空的情况不更改 - moveTaskFromOldListToNewList( emc, taskId, taskListId_old, listId ); - orderTaskInTaskList( emc, taskId, listId, behindTaskId ); - } - } - } catch (Exception e) { - throw e; - } - } - - /** - * 对工作任务列表里的任务的排序进行整理,处理任务插队的逻辑 - * @param emc - * @param taskId - * @param listId - * @param newOrder - * @throws Exception - */ - private void orderTaskInTaskList(EntityManagerContainer emc, String taskId, String listId, Integer newOrder) throws Exception { - Business business = new Business( emc ); - //查询当前任务在当前列表里的关联信息 - List reles = business.taskListFactory().listReleWithTaskAndList( taskId, listId ); - Integer maxOrder = business.taskListFactory().maxTaskOrder( listId ); - if( ListTools.isNotEmpty( reles) && reles.get(0).getOrder() == newOrder ) {//排序号未改变 - return; - } - if( newOrder == null || newOrder == 0 || newOrder == -1 ) { - if( ListTools.isNotEmpty( reles) && maxOrder == reles.get(0).getOrder() ) {//但是本来就是最后一个,排序号不变 - return; - } - //未设置排序号,放到最后一个就行了,不需要插入到列表中间,不改变其他任务的序号 - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( TaskListRele.class ); - for( TaskListRele rele : reles ) { - rele.setOrder( maxOrder + 1 ); - emc.check( rele, CheckPersistType.all ); - } - emc.commit(); - } - }else { - if( newOrder > maxOrder ) {//排序号最大只能是已有最大排序号 + 1 - newOrder = maxOrder + 1; - } - TaskListRele taskListRele = null; - Integer addOrder = 0; - //按order排序,取出所有的关联信息 - reles = business.taskListFactory().listReleWithListId( listId ); - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( TaskListRele.class ); - for( int i=0; i reles = business.taskListFactory().listReleWithTaskAndList( taskId, listId ); - //查询指定的工作任务列表中所有的任务关联信息,以order排序 - List reles_allTask = business.taskListFactory().listReleWithListId( listId ); - //查询出当前工作任务的后一个工作任务关联信息,以order排序 - TaskListRele rele_behindTask = getBehindTaskRele( taskId, reles_allTask ); - - if( StringUtils.isNotEmpty( behindTaskId ) && rele_behindTask != null && rele_behindTask.getTaskId().equalsIgnoreCase( behindTaskId ) ) {//排序号未改变 - return; - } - - if( StringUtils.isEmpty( behindTaskId ) ) { - //未设置后序任务ID,放到最后一个,不需要插入到列表中间,不改变其他任务的序号 - Integer maxOrder = business.taskListFactory().maxTaskOrder( listId ); - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( TaskListRele.class ); - for( TaskListRele rele : reles ) { - rele.setOrder( (maxOrder + 1) ); - emc.check( rele, CheckPersistType.all ); - } - emc.commit(); - } - }else { - //不放到最后一个,插在中间 - TaskListRele taskListRele = null; - TaskListRele current_taskListRele = null; - Integer addOrder = 0; - Integer insideOrderNumber = 0; - if( ListTools.isNotEmpty( reles_allTask )) { - emc.beginTransaction( TaskListRele.class ); - for( int i=0; i reles_allTask) { - if( ListTools.isNotEmpty( reles_allTask )) { - for( int i=0; i releList = business.taskListFactory().listReleWithTaskAndList( taskId, listId ); - if( ListTools.isEmpty( releList ) ) { - emc.beginTransaction( TaskListRele.class ); - for( TaskListRele rele : releList ) { - emc.remove(rele, CheckRemoveType.all ); - } - emc.commit(); - } - if( taskList != null ) { - taskGroupService.refreshTaskCountInTaskGroup(emc, effectivePerson.getDistinguishedName(), taskList.getTaskGroup() ); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 重新指定列表中所有的任务(删除原来的关联,添加新的关联) - * @param taskIds - * @param listId - * @param effectivePerson - * @return - * @throws Exception - */ - public List refreshTaskListRele( List taskIds, String listId, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( listId )) { - throw new Exception("listId is empty."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Business business = new Business( emc ); - TaskList taskList = emc.find( listId, TaskList.class ); - List tasks = business.taskFactory().list(taskIds); - if( taskList == null ) { - return null; - } - List taskListReles = new ArrayList<>(); - List oldListRele = business.taskListFactory().listReleWithListId(listId); - - emc.beginTransaction( TaskListRele.class ); - - if( ListTools.isEmpty( oldListRele ) ) { - for( TaskListRele rele : oldListRele ) { - emc.remove(rele, CheckRemoveType.all ); - } - } - if( ListTools.isEmpty( tasks ) ) { - TaskListRele taskListRele = null; - int i = 0; - for( Task task : tasks ) { - i++; - taskListRele = new TaskListRele(); - taskListRele.setProject( task.getProject() ); - taskListRele.setTaskId( task.getId() ); - taskListRele.setTaskListId( listId ); - taskListRele.setOrder( i ); - emc.persist(taskListRele, CheckPersistType.all ); - taskListReles.add( taskListRele ); - } - } - emc.commit(); - return taskListReles; - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListQueryService.java deleted file mode 100644 index 74dc3d64f3f6c8256501fea6ab9e13d7a1762ed6..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListQueryService.java +++ /dev/null @@ -1,190 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskList; - -/** - * 对工作任务列表信息查询的服务 - * - * @author O2LEE - */ -public class TaskListQueryService { - - private TaskListService taskListService = new TaskListService(); - private ReviewService reviewService = new ReviewService(); - - /** - * 根据工作任务列表的标识查询工作任务列表信息 - * @param id - * @return - * @throws Exception - */ - public TaskList get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskListService.get(emc, id ); - } catch (Exception e) { - throw e; - } - } - - public List list(List listIds) throws Exception { - if ( ListTools.isEmpty( listIds )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( TaskList.class, listIds); - } catch (Exception e) { - throw e; - } - } - - public List listTaskListIdWithTaskId( String taskId, String taskGroupId) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("taskId is empty."); - } - if ( StringUtils.isEmpty( taskGroupId )) { - throw new Exception("taskGroupId is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskListService.listTaskListIdWithTask( emc, taskId, taskGroupId ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据用户和项目ID查询工作任务列表 - * @param person - * @param projectId - * @return - * @throws Exception - */ - public List listWithProject( String person, String projectId ) throws Exception { - if ( StringUtils.isEmpty( person )) { - throw new Exception("person is empty."); - } - if ( StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskListService.listWithProject(emc, person, projectId); - } catch (Exception e) { - throw e; - } - } - - public Long countTaskWithTaskListId( String personName, String taskListId, String taskGroupId ) throws Exception { - if ( StringUtils.isEmpty( taskListId )) { - throw new Exception("taskListId is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskList taskList = emc.find( taskListId, TaskList.class ); - if( taskList == null ) { - return taskListService.countTaskWithOutoTaskListInGroup(emc, personName, taskGroupId ); - }else { - return taskListService.countTaskWithTaskListId(emc, taskListId ); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 根据工作任务组ID查询工作任务列表集合 - * @param person - * @param taskGroupId - * @return - * @throws Exception - */ - public List listWithTaskGroup( String person, String taskGroupId ) throws Exception { - if ( StringUtils.isEmpty( taskGroupId )) { - throw new Exception("taskGroupId is empty."); - } - List result = new ArrayList<>(); - List taskListIds = null; - List taskIds_all = new ArrayList<>();; - List taskIds_forTaskList = null; - Boolean hasTaskWithNoList = false; - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskGroup taskGroup = emc.find( taskGroupId, TaskGroup.class ); - System.out.println("taskGroupId="+taskGroupId); - List taskLists = taskListService.listWithTaskGroup( emc, taskGroupId ); - if( ListTools.isEmpty( taskLists )) { - //没有任何工作任务列表,需要新建一组默认的工作任务列表 - taskLists = taskListService.createDefaultTaskListForTaskGroup( emc, person, taskGroupId ); - } - - //判断用户在该项目里是否存在未归类的工作,如果存在,就需要临时产生一个未归类的TaskList - if( taskGroup != null ) { - //查询用户所有的工作ID列表 - List taskIds_all_temp = reviewService.listTaskIdsWithPerson( emc, person, taskGroup.getProject() ); - System.out.println("taskIds_all_temp="+taskIds_all_temp.size()); - taskIds_all.addAll( taskIds_all_temp ); - System.out.println("taskIds_all="+taskIds_all.size()); - - } - if( ListTools.isNotEmpty( taskIds_all )) { - //查询该用户所有的TaskList的ID列表 - taskListIds = taskListService.listTaskListIdsWithGroup( emc, taskGroupId, person ); - System.out.println("taskListIds="+taskListIds.size()); - if( ListTools.isNotEmpty( taskListIds )) { - //看看这些TaskList所关联的所有的TaskId列表 - taskIds_forTaskList = taskListService.listTaskIdsWithTaskListIds( emc, taskListIds ); - System.out.println("根据taskListIds计算出的task="+taskIds_forTaskList.size()); - taskIds_all.removeAll( taskIds_forTaskList ); - if( ListTools.isNotEmpty( taskIds_all )) { - System.out.println("存在未分类的任务"); - //存在未分类的任务 - hasTaskWithNoList = true; - } - }else { - System.out.println("不存在taskListIds"); - //存在未分类的任务 - hasTaskWithNoList = true; - } - } - - if( hasTaskWithNoList ) { - TaskList taskList = getNoneList( taskGroup.getProject(), taskGroupId, person ); - result.add( taskList ); - } - - if( ListTools.isNotEmpty( taskLists )) { - for( TaskList taskList : taskLists ) { - result.add( taskList ); - } - } - return result; - } catch (Exception e) { - throw e; - } - } - - public TaskList getNoneList(String projectId, String taskGroupId, String person ) { - TaskList taskList = new TaskList(); - taskList.setId( TaskList.createId() ); - taskList.setProject( projectId ); - taskList.setTaskGroup( taskGroupId ); - taskList.setMemo( "NoneList" ); - taskList.setName( "未归类任务" ); - taskList.setOrder( -1 ); - taskList.setCreatorPerson( "SYSTEM" ); - taskList.setOwner( person ); - return taskList; - } - - - -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplatePersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplatePersistService.java deleted file mode 100644 index 126f1aa41abfd48ec48cf874c9ef3fbacdcbb62b..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplatePersistService.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.assemble.common.date.DateOperation; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; - -/** - * 对项目信息查询的服务 - * - * @author O2LEE - */ -public class TaskListTemplatePersistService { - - private TaskListTemplateService taskListTemplateService = new TaskListTemplateService(); - private UserManagerService userManagerService = new UserManagerService(); - - public void delete( String flag, EffectivePerson currentPerson ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - Boolean hasDeletePermission = false; - Business business = null; - try (EntityManagerContainer bc = EntityManagerContainerFactory.instance().create()) { - business = new Business(bc); - } - if( business.isManager(currentPerson) ) { - hasDeletePermission = true; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskListTemplate taskListTemplate = taskListTemplateService.get(emc, flag); - //管理员可以删除,创建者可以删除 - if( !hasDeletePermission ) { - //看看是不是项目创建者 - if( taskListTemplate.getOwner().equalsIgnoreCase( currentPerson.getDistinguishedName() )) { - hasDeletePermission = true; - } - } - if( !hasDeletePermission ) { - throw new Exception("taskListTemplate delete permission denied."); - }else { - taskListTemplateService.delete( emc, flag ); - } - } catch (Exception e) { - throw e; - } - } - - public TaskListTemplate save( TaskListTemplate taskListTemplate, EffectivePerson effectivePerson ) throws Exception { - if ( taskListTemplate == null) { - throw new Exception("taskListTemplate is null."); - } - if( StringUtils.isEmpty( taskListTemplate.getName() )) { - taskListTemplate.setName("无标题项目("+ DateOperation.getNowDateTime() +")"); - } - if( taskListTemplate.getName().length() > 70 ) { - taskListTemplate.setName( taskListTemplate.getName().substring(0, 70) + "..." ); - } - if( StringUtils.isEmpty( taskListTemplate.getOwner()) ) { - taskListTemplate.setOwner(effectivePerson.getDistinguishedName()); - } - - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskListTemplate = taskListTemplateService.save( emc, taskListTemplate ); - } catch (Exception e) { - throw e; - } - return taskListTemplate; - } - - /** - * 保存或者更新项目的图标信息 - * @param projectId - * @param icon - * @throws Exception - */ - public void saveProjectIcon( String projectId, String icon ) throws Exception { - if ( StringUtils.isEmpty( projectId )) { - throw new Exception("projectId is empty!"); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Project project = emc.find( projectId, Project.class ); - if( project == null ) { - throw new Exception("Project not exists.id:" + projectId ); - }else { - emc.beginTransaction( Project.class ); - if( StringUtils.isEmpty( icon )) { - project.setIcon( null ); - }else { - project.setIcon(icon); - } - emc.check( project, CheckPersistType.all ); - emc.commit(); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 查询用户是否拥有创建项目的权限 - * 根据配置的权限来确定项目创建权限 - * @param effectivePerson - * @return - * @throws Exception - */ - public boolean checkPermissionForPersist( EffectivePerson effectivePerson, String project_creator_config ) throws Exception { - //根据配置为全员可以创建项目 - if( "ALL".equalsIgnoreCase( project_creator_config )) { - return true; - } - //系统管理员可以创建项目 - if( effectivePerson.isManager() ) { - return true; - } - //工作任务系统管理员可以创建项目 - if( userManagerService.isHasPlatformRole( effectivePerson.getDistinguishedName(), "TeamWorkManager" )) { - return true; - } - return false; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplateQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplateQueryService.java deleted file mode 100644 index 5440e98a1b3b5dac1ffd6a7e695e67f8c219022e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskListTemplateQueryService.java +++ /dev/null @@ -1,322 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.ProjectDetail; -import com.x.teamwork.core.entity.ProjectTemplate; -import com.x.teamwork.core.entity.TaskListTemplate; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; -import com.x.teamwork.core.entity.tools.filter.term.EqualsTerm; -import com.x.teamwork.core.entity.tools.filter.term.InTerm; - -/** - * 对项目信息查询的服务 - * - * @author O2LEE - */ -public class TaskListTemplateQueryService { - - private TaskListTemplateService taskListTemplateService = new TaskListTemplateService(); - private UserManagerService userManagerService = new UserManagerService(); - - /** - * 根据项目的标识查询项目信息 - * @param id - * @return - * @throws Exception - */ - public TaskListTemplate get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskListTemplateService.get(emc, id ); - } catch (Exception e) { - throw e; - } - } - - - /** - * 根据ID列表查询项目信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list(List ids) throws Exception { - if (ListTools.isEmpty( ids )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( Project.class, ids ); - } catch (Exception e) { - throw e; - } - } - - public List listAllProjectIds() throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskListTemplateService.listAllProjectIds( emc ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据过滤条件查询符合要求的项目信息列表 - * @param effectivePerson - * @param pageSize - * @param pageNum - * @param orderField - * @param orderType - * @param group 项目分组 - * @param title - * @return - * @throws Exception - */ - public List listWithProjectIdsFilter( Integer pageSize, Integer pageNum, String orderField, String orderType, List projectIds ) throws Exception { - List projectList = null; - List result = new ArrayList<>(); - Integer maxCount = 20; - Integer startNumber = 0; - - if( pageNum == 0 ) { pageNum = 1; } - if( pageSize == 0 ) { pageSize = 20; } - maxCount = pageSize * pageNum; - startNumber = pageSize * ( pageNum -1 ); - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - QueryFilter queryFilter = new QueryFilter(); - queryFilter.addInTerm( new InTerm("id", new ArrayList<>(projectIds) )); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - - projectList = taskListTemplateService.listWithFilter( emc, maxCount, orderField, orderType, null, null, null, null, queryFilter ); - - if( ListTools.isNotEmpty( projectList )) { - for( int i = 0; i= startNumber ) { - result.add( projectList.get( i )); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - /** - * 根据项目ID列表查询项目信息列表,根据上一条的sequnce查询指定数量的信息 - * @param pageSize - * @param lastId - * @param orderField - * @param orderType - * @param projectIds - * @return - * @throws Exception - */ - public List listWithProjectIdFilter( Integer pageSize, String lastId, String orderField, String orderType, List projectIds ) throws Exception { - Project project = null; - if( pageSize == 0 ) { pageSize = 20; } - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - QueryFilter queryFilter = new QueryFilter(); - queryFilter.addInTerm( new InTerm("id", new ArrayList<>(projectIds) )); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( lastId != null ) { - project = emc.find( lastId, Project.class ); - } - if( project != null ) { - return taskListTemplateService.listWithFilter(emc, pageSize, project.getSequence(), orderField, orderType, null, null, null, null, queryFilter ); - }else { - return taskListTemplateService.listWithFilter(emc, pageSize, null, orderField, orderType, null, null, null, null, queryFilter ); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 判断用户是否为指定项目的管理员 - * @param projectId - * @param distinguishedName - * @return - * @throws Exception - */ - public Boolean isProjectManager(String projectId, String distinguishedName) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Project project = emc.find( projectId, Project.class ); - if( ListTools.isNotEmpty( project.getManageablePersonList() )){ - if( distinguishedName.equalsIgnoreCase( project.getCreatorPerson() )) { - return true; - } - if( distinguishedName.equalsIgnoreCase( project.getExecutor() )) { - return true; - } - if( project.getManageablePersonList().contains( distinguishedName )) { - return true; - } - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 判断用户是项目参与者 - * @param projectId - * @param distinguishedName - * @return - * @throws Exception - */ - public Boolean isProjectParticipant( String projectId, String personName ) throws Exception { - List unitNames = null; - List groupNames = null; - List identityNames = null; - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - unitNames = userManagerService.listUnitNamesWithPerson( personName ); - groupNames = userManagerService.listGroupNamesByPerson(personName); - identityNames = userManagerService.listIdentitiesWithPerson(personName); - - Project project = emc.find( projectId, Project.class ); - - if( project.getParticipantPersonList().contains( personName )) { - return true; - } - project.getParticipantIdentityList().retainAll( identityNames ); - if( ListTools.isNotEmpty( project.getParticipantIdentityList() )) { - return true; - } - project.getParticipantUnitList().retainAll( unitNames ); - if( ListTools.isNotEmpty( project.getParticipantUnitList() )) { - return true; - } - project.getParticipantGroupList().retainAll( groupNames ); - if( ListTools.isNotEmpty( project.getParticipantGroupList() )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 判断用户是否拥有指定项目的访问权限 - * @param appId - * @param distinguishedName - * @return - * @throws Exception - */ - public Boolean isProjectViewer(String appId, String personName ) throws Exception { - List unitNames = null; - List groupNames = null; - List identityNames = null; - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - unitNames = userManagerService.listUnitNamesWithPerson( personName ); - groupNames = userManagerService.listGroupNamesByPerson(personName); - identityNames = userManagerService.listIdentitiesWithPerson(personName); - - Project project = emc.find( appId, Project.class ); - if( personName.equalsIgnoreCase( project.getCreatorPerson() )) { - return true; - } - if( personName.equalsIgnoreCase( project.getExecutor() )) { - return true; - } - if( project.getManageablePersonList().contains( personName )) { - return true; - } - if( project.getParticipantPersonList().contains( personName )) { - return true; - } - project.getParticipantIdentityList().retainAll( identityNames ); - if( ListTools.isNotEmpty( project.getParticipantIdentityList() )) { - return true; - } - project.getParticipantUnitList().retainAll( unitNames ); - if( ListTools.isNotEmpty( project.getParticipantUnitList() )) { - return true; - } - project.getParticipantGroupList().retainAll( groupNames ); - if( ListTools.isNotEmpty( project.getParticipantGroupList() )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 根据条件查询项目ID列表,最大查询2000条,查询未删除 - * @param effectivePerson - * @param i - * @param queryFilter - * @return - * @throws Exception - */ - public List listAllViewableProjectIds(EffectivePerson effectivePerson, int maxCount, QueryFilter queryFilter) throws Exception { - List unitNames = null; - List groupNames = null; - List identityNames = null; - String personName = effectivePerson.getDistinguishedName(); - if( maxCount == 0) { - maxCount = 1000; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - unitNames = userManagerService.listUnitNamesWithPerson( personName ); - groupNames = userManagerService.listGroupNamesByPerson( personName ); - identityNames = userManagerService.listIdentitiesWithPerson( personName ); - queryFilter.addEqualsTerm( new EqualsTerm( "deleted", false ) ); - return taskListTemplateService.listAllViewableProjectIds( emc, maxCount, personName, identityNames, unitNames, groupNames, queryFilter ); - } catch (Exception e) { - throw e; - } - } - /** - * 根据条件查询项目ID列表,最大查询2000条 - * @param effectivePerson - * @param i - * @param queryFilter - * @return - * @throws Exception - */ - public List listAllProjectIds(EffectivePerson effectivePerson, int maxCount, QueryFilter queryFilter) throws Exception { - List unitNames = null; - List groupNames = null; - List identityNames = null; - String personName = effectivePerson.getDistinguishedName(); - if( maxCount == 0) { - maxCount = 1000; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - unitNames = userManagerService.listUnitNamesWithPerson( personName ); - groupNames = userManagerService.listGroupNamesByPerson( personName ); - identityNames = userManagerService.listIdentitiesWithPerson( personName ); - return taskListTemplateService.listAllViewableProjectIds( emc, maxCount, personName, identityNames, unitNames, groupNames, queryFilter ); - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskQueryService.java deleted file mode 100644 index ae8fc6472675edbadb408fdf7244ebfccba1c460..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskQueryService.java +++ /dev/null @@ -1,615 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.assemble.control.jaxrs.task.BaseAction.TaskListChange; -import com.x.teamwork.core.entity.Review; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskDetail; -import com.x.teamwork.core.entity.TaskExtField; -import com.x.teamwork.core.entity.TaskGroup; -import com.x.teamwork.core.entity.TaskList; -import com.x.teamwork.core.entity.TaskListRele; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -/** - * 对工作任务信息查询的服务 - * - * @author O2LEE - */ -public class TaskQueryService { - - private TaskService taskService = new TaskService(); - private TaskListService taskListService = new TaskListService(); - private TaskGroupService taskGroupService = new TaskGroupService(); - private ReviewService reviewService = new ReviewService(); - private UserManagerService userManagerService = new UserManagerService(); - - /** - * 根据工作任务的标识查询工作任务信息 - * @param id - * @return - * @throws Exception - */ - public Task get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.find(id, Task.class ); - } catch (Exception e) { - throw e; - } - } - - public TaskDetail getDetail(String id) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.find(id, TaskDetail.class ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据任务ID查询扩展属性信息 - * @param id - * @return - * @throws Exception - */ - public TaskExtField getExtField(String id) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.find(id, TaskExtField.class ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据ID列表查询工作任务信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list(List ids) throws Exception { - if (ListTools.isEmpty( ids )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( Task.class, ids ); - } catch (Exception e) { - throw e; - } - } - - public Long countWithFilter( EffectivePerson effectivePerson, QueryFilter queryFilter ) throws Exception { - String personName = effectivePerson.getDistinguishedName(); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskService.countWithFilter(emc, personName, queryFilter); - } catch (Exception e) { - throw e; - } - } - - public Long countWithTaskListId(String taskListId) throws Exception { - if ( StringUtils.isEmpty( taskListId )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskService.countWithTaskListId( emc, taskListId ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据TaskListID查询任务列表,如果taskListId,则查询所有未分类的工作列表 - * @param projectId - * @param taskListId - * @param personName - * @return - * @throws Exception - */ - public List listTaskWithTaskListId( String projectId, String taskListId, String personName ) throws Exception { - if ( StringUtils.isEmpty( taskListId )) { - return null; - } - - Task task = null; - TaskList taskList = null; - List taskIds = null; - List taskListIds = null; - List taskIds_forTaskList = null; - List taskGroupList = null; - List taskListReles = null; - List resultList = new ArrayList<>(); - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = emc.find( taskListId, TaskList.class ); - if( taskList != null ) { - //查询该TaskList下所有的任务列表 - taskIds = taskListService.listTaskIdsWithTaskListId( emc, taskListId ); - //查询这些任务在指定工作任务列表里的关联,按关联的排序号查询任务信息列表 - taskListReles = taskListService.listReleWithTaskAndListId(emc, taskIds, taskListId ); - if( ListTools.isNotEmpty( taskListReles )) { - for( TaskListRele rele : taskListReles ) { - task = emc.find( rele.getTaskId(), Task.class ); - task.setOrder( rele.getOrder() ); - resultList.add( task ); - } - } - return resultList; - }else { - //查询所有未归类的任务列表 - List taskIds_all = new ArrayList<>(); - //查询在指定项目里所有可见的工作任务列表 - List taskIds_all_tmp = reviewService.listTaskIdsWithPerson(emc, personName, projectId ); - if( taskIds_all_tmp == null ) { - taskIds_all_tmp = new ArrayList<>(); - } - for( String str : taskIds_all_tmp ) { - taskIds_all.add( str ); - } - //查询默认的TaskGroup - taskGroupList = taskGroupService.listGroupByPersonAndProject( emc, personName, projectId); - if( ListTools.isNotEmpty( taskGroupList )) { - //查询该用户所有的TaskList的ID列表 - taskListIds = taskListService.listTaskListIdsWithGroup( emc, taskGroupList.get(0).getId(), personName ); - if( ListTools.isNotEmpty( taskListIds )) { - //看看这些TaskList所关联的所有的TaskId列表 - taskIds_forTaskList = taskListService.listTaskIdsWithTaskListIds( emc, taskListIds ); - if( taskIds_forTaskList == null ) { - taskIds_forTaskList = new ArrayList<>(); - } - taskIds_all.removeAll( taskIds_forTaskList ); - } - } - return new Business(emc).taskFactory().list(taskIds_all ); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 根据TaskListID查询任务列表,如果taskListId,则查询所有未分类的工作列表 - * @param projectId - * @param taskListId - * @param personName - * @return - * @throws Exception - */ - public List listMyTaskWithTaskListId( String projectId, String taskListId, String personName ) throws Exception { - if ( StringUtils.isEmpty( taskListId )) { - return null; - } - - Task task = null; - TaskList taskList = null; - List taskIds = null; - List taskListIds = null; - List taskIds_forTaskList = null; - List taskGroupList = null; - List taskListReles = null; - List resultList = new ArrayList<>(); - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = emc.find( taskListId, TaskList.class ); - if( taskList != null ) { - //查询该TaskList下所有的任务列表 - taskIds = taskListService.listTaskIdsWithTaskListId( emc, taskListId ); - //查询这些任务在指定工作任务列表里的关联,按关联的排序号查询任务信息列表 - taskListReles = taskListService.listReleWithTaskAndListId(emc, taskIds, taskListId ); - if( ListTools.isNotEmpty( taskListReles )) { - for( TaskListRele rele : taskListReles ) { - task = emc.find( rele.getTaskId(), Task.class ); - //只查询自己负责的任务 - if( personName.equalsIgnoreCase( task.getExecutor() ) || - ( task.getParticipantList() !=null && task.getParticipantList().contains( personName )) - ) { - task.setOrder( rele.getOrder() ); - resultList.add( task ); - } - } - } - }else { - //查询所有未归类的任务列表 - List taskIds_all = new ArrayList<>(); - //查询在指定项目里所有可见的工作任务列表 - List taskIds_all_tmp = reviewService.listTaskIdsWithPerson(emc, personName, projectId ); - if( taskIds_all_tmp == null ) { - taskIds_all_tmp = new ArrayList<>(); - } - System.out.println("w:taskIds_all_tmp="+taskIds_all_tmp.size()); - - for( String str : taskIds_all_tmp ) { - taskIds_all.add( str ); - } - System.out.println("w:taskIds_all="+taskIds_all.size()); - //查询默认的TaskGroup - taskGroupList = taskGroupService.listGroupByPersonAndProject( emc, personName, projectId); - if( ListTools.isNotEmpty( taskGroupList )) { - //查询该用户所有的TaskList的ID列表 - taskListIds = taskListService.listTaskListIdsWithGroup( emc, taskGroupList.get(0).getId(), personName ); - if( ListTools.isNotEmpty( taskListIds )) { - //看看这些TaskList所关联的所有的TaskId列表 - taskIds_forTaskList = taskListService.listTaskIdsWithTaskListIds( emc, taskListIds ); - if( taskIds_forTaskList == null ) { - taskIds_forTaskList = new ArrayList<>(); - } - System.out.println("默认泳道:taskIds_forTaskList="+taskIds_forTaskList.size()); - taskIds_all.removeAll( taskIds_forTaskList ); - } - } - List taskListTmp = new Business(emc).taskFactory().list(taskIds_all ); - if( ListTools.isNotEmpty( taskListTmp )) { - for( Task _task : taskListTmp ) { - //只查询自己负责的任务 - if( personName.equalsIgnoreCase( _task.getExecutor() )|| - ( _task.getParticipantList() !=null && _task.getParticipantList().contains( personName ))) - { - resultList.add( _task ); - } - } - } - } - } catch (Exception e) { - throw e; - } - return resultList; - } - - /** - * 在人员的可见范围之类,根据指定的工作任务ID,查询子任务列表 - * @param taskId - * @param effectivePerson - * @return - * @throws Exception - */ - public List listTaskWithParentId(String taskId, EffectivePerson effectivePerson) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - return null; - } - if ( effectivePerson == null ) { - return null; - } - List taskList = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - //查询用户在该项目里可见的所有项目列表 - List reviewList = reviewService.listTaskWithPersonAndParentId( emc, effectivePerson.getDistinguishedName(), taskId ); - if( ListTools.isNotEmpty( reviewList )) { - taskList = taskService.convertToTask(reviewList); - } - } catch (Exception e) { - throw e; - } - return taskList; - } - - /** - * 根据过滤条件查询符合要求的工作任务信息列表 - * @param effectivePerson - * @param pageSize - * @param pageNum - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( EffectivePerson effectivePerson, Integer pageSize, Integer pageNum, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List taskList = null; - List result = new ArrayList<>(); - Integer maxCount = 20; - Integer startNumber = 0; - - if( pageNum == 0 ) { pageNum = 1; } - if( pageSize == 0 ) { pageSize = 20; } - maxCount = pageSize * pageNum; - startNumber = pageSize * ( pageNum -1 ); - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskList = taskService.listWithFilter( emc, maxCount, orderField, orderType, effectivePerson.getDistinguishedName(), queryFilter ); - if( ListTools.isNotEmpty( taskList )) { - for( int i = 0; i= startNumber ) { - result.add( taskList.get( i )); - } - } - } - } catch (Exception e) { - throw e; - } - return result; - } - - - /** - * 根据条件查询符合条件的工作任务信息ID,根据上一条的sequnce查询指定数量的信息 - * @param effectivePerson - * @param pageSize - * @param lastId - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( EffectivePerson effectivePerson, Integer pageSize, String lastId, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List taskList = null; - List resultList = new ArrayList<>(); - Integer maxCount = 2000; - Task lastTask = null; - - if( pageSize == 0 ) { pageSize = 20; } - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( StringUtils.isNotEmpty(lastId) && !"(0)".equals( lastId ) && !"null".equals( lastId )) { - lastTask = emc.find( lastId, Task.class ); - } - taskList = taskService.listWithFilter( emc, maxCount, orderField, orderType, effectivePerson.getDistinguishedName(), queryFilter ); - } catch (Exception e) { - throw e; - } - if( ListTools.isNotEmpty( taskList )) { - int count = 0; - if( lastTask != null ) { - boolean add = false; - //获取自lastTask之后的一页内容 - for( Task task : taskList ) { - if( add ) { - count ++; - if( count <= pageSize ) { - resultList.add( task ); - } - } - if( task.getId().equals( lastTask.getId() )) { - add = true; - } - } - }else { - //只获取第一页内容 - for( Task task : taskList ) { - count ++; - if( count <= pageSize ) { - resultList.add(task); - } - } - } - } - return resultList; - } - - /** - * 判断用户是否为指定工作任务的管理员 - * @param taskId - * @param distinguishedName - * @return - * @throws Exception - */ - public Boolean isTaskManager(String taskId, String distinguishedName) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Task task = emc.find( taskId, Task.class ); - if( ListTools.isNotEmpty( task.getManageablePersonList() )){ - if( distinguishedName.equalsIgnoreCase( task.getCreatorPerson() )) { - return true; - } - if( distinguishedName.equalsIgnoreCase( task.getExecutor() )) { - return true; - } - if( task.getManageablePersonList().contains( distinguishedName )) { - return true; - } - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 判断用户是工作任务参与者 - * @param taskId - * @param distinguishedName - * @return - * @throws Exception - */ - public Boolean isTaskParticipant( String taskId, String personName ) throws Exception { - List unitNames = null; - List groupNames = null; - List identityNames = null; - - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - unitNames = userManagerService.listUnitNamesWithPerson( personName ); - groupNames = userManagerService.listGroupNamesByPerson(personName); - identityNames = userManagerService.listIdentitiesWithPerson(personName); - - Task task = emc.find( taskId, Task.class ); - - if( task.getParticipantList().contains( personName )) { - return true; - } - - identityNames.retainAll( task.getParticipantList() ); - if( ListTools.isNotEmpty( identityNames )) { - return true; - } - unitNames.retainAll( task.getParticipantList() ); - if( ListTools.isNotEmpty( unitNames )) { - return true; - } - groupNames.retainAll( task.getParticipantList() ); - if( ListTools.isNotEmpty( groupNames )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 根据任务的状态信息变化查询展现的列表变化 - * 任务原来所在的列表是绑定状态的,才会根据状态来变化列表,否则就不变 - * @param id - * @param sourceStatus - * @param targetStatus - * @return - */ - public TaskListChange getTaskListChange( String id, String sourceStatus, String targetStatus ) { - TaskListChange change = null; - String sourceListId = null; - String targetListId = null; - //根据任务ID、sourceStatus查询原来所在列表ID - - //根据任务ID、targetStatus查询目标列表ID - - //组织一个ViewChange - if( StringUtils.isNotEmpty( sourceListId ) || StringUtils.isNotEmpty( targetListId ) ) { - change = new TaskListChange(); - change.setSource(sourceListId); - change.setTarget(targetListId); - return change; - } - return null; - } - - public List listUnReviewIds( int maxCount ) throws Exception { - if ( maxCount == 0 ) { - maxCount = 100; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskService.listUnReviewTaskIds( emc, 100 ); - } catch (Exception e) { - throw e; - } - } - - /** - * 查询指定任务的所有未完成的子任务信息列表 - * @param taskId - * @return - * @throws Exception - */ - public List allUnCompletedSubTasks(String taskId) throws Exception { - if( StringUtils.isEmpty( taskId ) ) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskService.allUnCompletedSubTasks( emc, taskId ); - } catch (Exception e) { - throw e; - } - } - - public Integer countWithTaskGroupId( String taskGroupId, EffectivePerson effectivePerson ) throws Exception { - if( StringUtils.isEmpty( taskGroupId ) ) { - return 0; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskGroup taskGroup = emc.find( taskGroupId, TaskGroup.class ); - if( taskGroup != null ) { - List taskIds = taskService.listTaskIdsWithPermissionInProject(emc, 999, taskGroup.getProject(), effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( taskIds )) { - return taskIds.size(); - } - } - } catch (Exception e) { - throw e; - } - return 0; - } - - public List listTaskWithProjectAndPerson(String project, EffectivePerson effectivePerson) throws Exception { - if( StringUtils.isEmpty( project ) ) { - return null; - } - if( effectivePerson == null ) { - return null; - } - Business business = null; - List taskIds = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business( emc ); - taskIds = business.reviewFactory().listTaskIdsWithPersonAndProject( effectivePerson.getDistinguishedName(), project); - if( ListTools.isNotEmpty( taskIds )) { - return emc.list( Task.class, taskIds ); - } - } catch (Exception e) { - throw e; - } - return null; - } - - public List listAllTaskIdsWithProject( String project ) throws Exception { - if( StringUtils.isEmpty( project ) ) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskService.listAllTaskIdsWithProject( emc, project ); - } catch (Exception e) { - throw e; - } - } - - public String getValueFromTaskExtField( TaskExtField taskExtField, String extFieldName) { - if( StringUtils.isEmpty( extFieldName )) { - return ""; - } - if( taskExtField == null ) { - return ""; - } - if( StringUtils.equals( extFieldName, "memoString_1" ) ) { - return taskExtField.getMemoString_1(); - }else if( StringUtils.equals( extFieldName, "memoString_2" ) ) { - return taskExtField.getMemoString_2(); - }else if( StringUtils.equals( extFieldName, "memoString_3" ) ) { - return taskExtField.getMemoString_3(); - }else if( StringUtils.equals( extFieldName, "memoString_4" ) ) { - return taskExtField.getMemoString_4(); - }else if( StringUtils.equals( extFieldName, "memoString_5" ) ) { - return taskExtField.getMemoString_5(); - }else if( StringUtils.equals( extFieldName, "memoString_6" ) ) { - return taskExtField.getMemoString_6(); - }else if( StringUtils.equals( extFieldName, "memoString_7" ) ) { - return taskExtField.getMemoString_7(); - }else if( StringUtils.equals( extFieldName, "memoString_8" ) ) { - return taskExtField.getMemoString_8(); - }else if( StringUtils.equals( extFieldName, "memoString_1_lob" ) ) { - return taskExtField.getMemoString_1_lob(); - }else if( StringUtils.equals( extFieldName, "memoString_2_lob" ) ) { - return taskExtField.getMemoString_2_lob(); - }else if( StringUtils.equals( extFieldName, "memoString_3_lob" ) ) { - return taskExtField.getMemoString_3_lob(); - }else if( StringUtils.equals( extFieldName, "memoString_4_lob" ) ) { - return taskExtField.getMemoString_4_lob(); - } - return ""; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskService.java deleted file mode 100644 index 16908878cdaf6e606e11bde618ef94df6308fa1e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskService.java +++ /dev/null @@ -1,402 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Project; -import com.x.teamwork.core.entity.Review; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskDetail; -import com.x.teamwork.core.entity.TaskExtField; -import com.x.teamwork.core.entity.TaskGroupRele; -import com.x.teamwork.core.entity.TaskListRele; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -class TaskService { - - /** - * 根据工作任务的标识查询工作任务的信息 - * @param emc - * @param flag 主要是ID - * @return - * @throws Exception - */ - protected Task get(EntityManagerContainer emc, String flag) throws Exception { - Business business = new Business( emc ); - return business.taskFactory().get( flag ); - } - - public List list(EntityManagerContainer emc, List ids) throws Exception { - if( ListTools.isEmpty( ids )) { - return null; - } - Business business = new Business( emc ); - return business.taskFactory().list(ids); - } - /** - * 根据工作任务组ID和用户名称,查询用户可见的所有工作任务ID列表 - * @param emc - * @param maxCount - * @param project - * @param personName - * @return - * @throws Exception - */ - public List listTaskIdsWithPermissionInProject( EntityManagerContainer emc, int maxCount, String project, String personName) throws Exception { - if( StringUtils.isEmpty( project )) { - return null; - } - if( StringUtils.isEmpty( personName )) { - return null; - } - Business business = new Business( emc ); - return business.reviewFactory().listTaskIdsWithPersonAndProject( project, personName, maxCount); - } - - protected Long countWithFilter(EntityManagerContainer emc, String personName, QueryFilter queryFilter) throws Exception { - Business business = new Business(emc); - return business.reviewFactory().countWithFilter( personName, queryFilter); - } - - public Long countWithTaskListId(EntityManagerContainer emc, String taskListId) throws Exception { - Business business = new Business( emc ); - return business.taskListFactory().countTaskWithTaskListId( taskListId ); - } - - /** - * 根据条件查询符合条件的工作任务信息ID,根据上一条的sequnce查询指定数量的信息 - * @param emc - * @param maxCount - * @param orderField - * @param orderType - * @param personName - * @param queryFilter - * @return - * @throws Exception - */ - protected List listWithFilter( EntityManagerContainer emc, Integer maxCount, String orderField, String orderType, String personName, QueryFilter queryFilter ) throws Exception { - Business business = new Business( emc ); - List reviewList = business.reviewFactory().listWithFilter( maxCount, orderField, orderType, personName, queryFilter); - return convertToTask( reviewList ); - } - - public List convertToTask(List reviewList) { - List taskList = new ArrayList<>(); - if( ListTools.isNotEmpty( reviewList )) { - for( Review review : reviewList ) { - taskList.add( convertToTask(review) ); - } - } - return taskList; - } - - public Task convertToTask( Review review ) { - Task task = new Task(); - - task.setId( review.getTaskId() ); - task.setName( review.getName() ); - task.setParent( review.getParent() ); - task.setProject( review.getProject() ); - task.setProjectName( review.getProjectName() ); - task.setPriority( review.getPriority() ); - task.setProgress( review.getProgress() ); - task.setRemindRelevance( review.getRemindRelevance()); - - task.setClaimed( review.getClaimed() ); - task.setWorkStatus( review.getWorkStatus() ); - task.setOvertime( review.getOvertime() ); - task.setArchive( review.getArchive() ); - task.setCompleted( review.getCompleted() ); - task.setDeleted( review.getDeleted() ); - - task.setStartTime( review.getStartTime() ); - task.setEndTime( review.getEndTime() ); - - task.setCreatorPerson( review.getCreatorPerson() ); - task.setExecutor( review.getExecutor() ); - task.setExecutorIdentity( review.getExecutorIdentity() ); - task.setExecutorUnit( review.getExecutorUnit() ); - - task.setCreateTime( review.getCreateTime() ); - task.setSequence( review.getTaskSequence() ); - task.setOrder( review.getOrder() ); - task.setUpdateTime( review.getUpdateTime() ); - return task; - } - - /** - * 向数据库持久化工作任务信息 - * @param emc - * @param object - * @param detail - * @param extField - * @return - * @throws Exception - */ - protected Task save( EntityManagerContainer emc, Task object, TaskDetail detail, TaskExtField extField ) throws Exception { - Task task = null; - TaskDetail taskDetail = null; - TaskExtField taskExtField = null; - Project project = null; - - if( StringUtils.isEmpty( object.getId() ) ){ - object.setId( Task.createId() ); - } - project = emc.find( object.getProject(), Project.class ); - task = emc.find( object.getId(), Task.class ); - taskDetail = emc.find( object.getId(), TaskDetail.class ); - taskExtField = emc.find( object.getId(), TaskExtField.class ); - - emc.beginTransaction( Task.class ); - emc.beginTransaction( TaskDetail.class ); - emc.beginTransaction( TaskExtField.class ); - - if( project == null ) { - throw new Exception("project not exsits!ID=" + object.getProject() ); - } - - //处理task的保存 - object.setProject( project.getId() ); - object.setProjectName( project.getTitle() ); - if( task == null ){ // 保存一个新的对象 - task = new Task(); - object.copyTo( task ); - if( StringUtils.isNotEmpty( object.getId() ) ){ - task.setId( object.getId() ); - } - emc.persist( task, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - if( StringUtils.isNotEmpty( task.getCreatorPerson() )) { - object.setCreatorPerson( task.getCreatorPerson() ); - } - object.copyTo( task, JpaObject.FieldsUnmodify ); - emc.check( task, CheckPersistType.all ); - } - - //处理taskDetail的保存 - if( taskDetail == null ){ // 保存一个新的对象 - taskDetail = new TaskDetail(); - detail.copyTo( taskDetail ); - taskDetail.setId( object.getId() ); - taskDetail.setProject( project.getId() ); - emc.persist( taskDetail, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - detail.copyTo( taskDetail, JpaObject.FieldsUnmodify ); - taskDetail.setId( object.getId() ); - taskDetail.setProject( project.getId() ); - emc.check( taskDetail, CheckPersistType.all ); - } - - //处理taskExtField的保存 - if( taskExtField == null ){ // 保存一个新的对象 - taskExtField = new TaskExtField(); - extField.copyTo( taskExtField ); - taskExtField.setId( object.getId() ); - taskExtField.setProject( project.getId() ); - emc.persist( taskExtField, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - extField.copyTo( taskExtField, JpaObject.FieldsUnmodify ); - taskExtField.setId( object.getId() ); - taskExtField.setProject( project.getId() ); - emc.check( taskExtField, CheckPersistType.all ); - } - emc.commit(); - return task; - } - - /** - * 根据工作任务标识删除工作任务信息(物理删除) - * @param emc - * @param flag 主要是ID - * @throws Exception - */ - public void remove( EntityManagerContainer emc, String flag ) throws Exception { - emc.beginTransaction( Task.class ); - emc.beginTransaction( Review.class ); - emc.beginTransaction( TaskDetail.class ); - emc.beginTransaction( TaskListRele.class ); - emc.beginTransaction( TaskGroupRele.class ); - removeTaskWithChildren( emc, flag); - emc.commit(); - } - - /** - * 根据工作任务标识删除工作任务信息( 物理删除 ) - * @param emc - * @param id - * @throws Exception - */ - private void removeTaskWithChildren( EntityManagerContainer emc, String id ) throws Exception { - Business business = new Business( emc ); - - //还需要递归删除所有的下级Task - List childrenIds = business.taskFactory().listByParent( id ); - if( ListTools.isNotEmpty( childrenIds )) { - for( String _id : childrenIds ) { - removeTaskWithChildren( emc, _id ); - } - } - - //任务列表中的关联信息 - List listReles = business.taskListFactory().listReleWithTask( id ); - if( ListTools.isNotEmpty( listReles )) { - for( TaskListRele taskListRele : listReles ) { - emc.remove( taskListRele , CheckRemoveType.all ); - } - } - - //删除任务组关联信息 - List groupReles = business.taskGroupReleFactory().listTaskReleWithTask( id ); - if( ListTools.isNotEmpty( groupReles )) { - for( TaskGroupRele taskGroupRele : groupReles ) { - emc.remove( taskGroupRele , CheckRemoveType.all ); - } - } - - Task task = emc.find( id, Task.class ); - TaskDetail taskDetail = emc.find( id, TaskDetail.class ); - List reviewList = null; - List> reviewIdBatchs = null; - List reviewIds = business.reviewFactory().listReviewByTask( id, 9999 ); - if( ListTools.isNotEmpty( reviewIds )) { - reviewIdBatchs = ListTools.batch( reviewIds, 1000 ); - } - if( ListTools.isNotEmpty( reviewIdBatchs )) { - for( List batch : reviewIdBatchs ) { - reviewList = emc.list( Review.class, batch ); - if( ListTools.isNotEmpty( reviewList )) { - for( Review review : reviewList ) { - //emc.remove( review, CheckRemoveType.all ); - //改为软删除 - review.setDeleted(true); - emc.check( review, CheckPersistType.all ); - } - } - } - } - if( task != null ) { - //emc.remove( task , CheckRemoveType.all ); - //改为软删除 - task.setDeleted(true); - emc.check( task, CheckPersistType.all ); - } - if( taskDetail != null ) { - emc.remove( taskDetail , CheckRemoveType.all ); - } - } - - public List listUnReviewTaskIds(EntityManagerContainer emc, int maxCount) throws Exception { - Business business = new Business( emc ); - return business.taskFactory().listUnReviewTask(maxCount); - } - - /** - * 更新工作任务标签,如果有新的标签,则添加到个人的项目标签集里 - * @param emc - * @param taskId - * @param tags - * @param add_tags - * @param remove_tags - * @param effectivePerson - * @return - * @throws Exception - */ - public List updateTag(EntityManagerContainer emc, String taskId, List tags, List add_tags, List remove_tags, EffectivePerson effectivePerson ) throws Exception { - Business business = new Business( emc ); - List currentTags = new ArrayList<>(); - List tagList = null; - Task task = emc.find( taskId, Task.class ); - - if( task != null ) { - //查询用户在该项目下所有的Tag列表 - tagList = business.taskTagFactory().listWithProjectAndPerson( task.getProject(), effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( tagList )) { - for( TaskTag tag : tagList ) { - currentTags.add( tag.getTag() ); - } - } - - //如果有新的标签,将新的标签添加到Tag表里 - if( ListTools.isNotEmpty( tags )) { - emc.beginTransaction( TaskTag.class ); - for( String tag : tags ) { - if( !currentTags.contains( tag )) { - TaskTag taskTag = new TaskTag(); - taskTag.setOwner( effectivePerson.getDistinguishedName() ); - taskTag.setProject( task.getProject() ); - taskTag.setTag( tag ); - emc.persist( taskTag, CheckPersistType.all ); - } - } - emc.commit(); - } - - //修改用户对该任务的标签关联信息 - if( ListTools.isNotEmpty( add_tags )) { - for( String tagName : add_tags ) { - List tagIds = business.taskTagFactory().listTagIdsWithTagNameAndProjectAndPerson(tagName, task.getProject(), effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( tagIds )) { - //根据tagId, taskId, person查询关联是否已经存在了 - List tagReleIds = business.taskTagFactory().listTagReleIdsWithTagIdAndTaskAndPerson( tagIds.get(0), taskId, effectivePerson.getDistinguishedName() ); - if( ListTools.isEmpty( tagReleIds )) { - //新增tag关联 - TaskTagRele taskTagRele = new TaskTagRele(); - taskTagRele.setId( TaskTagRele.createId() ); - taskTagRele.setOrder( 0 ); - taskTagRele.setOwner( effectivePerson.getDistinguishedName() ); - taskTagRele.setProject( task.getProject() ); - taskTagRele.setTaskId(taskId); - taskTagRele.setTagId( tagIds.get(0) ); - emc.beginTransaction( TaskTagRele.class ); - emc.persist( taskTagRele, CheckPersistType.all ); - emc.commit(); - } - } - } - } - - if( ListTools.isNotEmpty( remove_tags )) { - for( String tagName : remove_tags ) { - List tagIds = business.taskTagFactory().listTagIdsWithTagNameAndProjectAndPerson( tagName, task.getProject(), effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( tagIds )) { - //根据tagId, taskId, person查询关联是否已经存在 - List tagReleIds = business.taskTagFactory().listTagReleIdsWithTagIdAndTaskAndPerson( tagIds.get(0), taskId, effectivePerson.getDistinguishedName() ); - if( ListTools.isNotEmpty( tagReleIds )) { - for( String releId : tagReleIds ) { - TaskTagRele taskTagRele = emc.find( releId, TaskTagRele.class ); - if( taskTagRele != null ) { - emc.beginTransaction( TaskTagRele.class ); - emc.remove( taskTagRele, CheckRemoveType.all ); - emc.commit(); - } - } - } - } - } - } - } - return tags; - } - - public List allUnCompletedSubTasks(EntityManagerContainer emc, String taskId) throws Exception { - Business business = new Business( emc ); - return business.taskFactory().allUnCompletedSubTasks(taskId); - } - - public List listAllTaskIdsWithProject(EntityManagerContainer emc, String project) throws Exception { - Business business = new Business( emc ); - return business.taskFactory().listAllTaskIdsWithProject( project ); - } -} - diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagPersistService.java deleted file mode 100644 index 0b14d7a4758aeb526ae24b36e67235b91b283b73..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagPersistService.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; - -public class TaskTagPersistService { - - private TaskTagService taskTagService = new TaskTagService(); - - /** - * 删除工作任务标签信息 - * @param flag - * @param effectivePerson - * @throws Exception - */ - public void delete( String flag, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskTagService.delete( emc, flag ); - } catch (Exception e) { - throw e; - } - } - - /** - * 保存工作任务标签信息 - * @param object - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskTag save( TaskTag object, EffectivePerson effectivePerson ) throws Exception { - if ( object == null) { - throw new Exception("object is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - - TaskTag result = null; - object.setOwner( effectivePerson.getDistinguishedName() ); - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - result = taskTagService.save( emc, object ); - } catch (Exception e) { - throw e; - } - return result; - } - - public TaskTagRele addTagRele( Task task, TaskTag taskTag, EffectivePerson effectivePerson ) throws Exception { - if ( task == null) { - throw new Exception("task is null."); - } - if ( taskTag == null ) { - throw new Exception("taskTag is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskTagService.addTagRele( emc, task, taskTag, effectivePerson.getDistinguishedName() ); - } catch (Exception e) { - throw e; - } - } - - public List removeTagRele( String taskId, String taskTagId, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( taskId )) { - throw new Exception("task is null."); - } - if ( StringUtils.isEmpty( taskTagId )) { - throw new Exception("taskTag is null."); - } - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskTagService.removeTagRele( emc, taskId, taskTagId, effectivePerson.getDistinguishedName() ); - } catch (Exception e) { - throw e; - } - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagQueryService.java deleted file mode 100644 index f3fa5fadcd49baa761890350853bb77b1addc892..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagQueryService.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; - - -/** - * 对动态信息查询的服务 - * - * @author O2LEE - */ -public class TaskTagQueryService { - - private TaskTagService taskTagService = new TaskTagService(); - - /** - * 根据动态的标识查询动态信息 - * @param flag - * @return - * @throws Exception - */ - public TaskTag get( String flag ) throws Exception { - if ( StringUtils.isEmpty( flag )) { - throw new Exception("flag is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskTagService.get(emc, flag ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据ID列表查询动态信息列表 - * @param ids - * @return - * @throws Exception - */ - public List list(List ids) throws Exception { - if (ListTools.isEmpty( ids )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return emc.list( TaskTag.class, ids ); - } catch (Exception e) { - throw e; - } - } - - public List listTagIdsWithTask(EffectivePerson currentPerson, String taskId) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskTagService.listTagIdsWithTask(emc, taskId, currentPerson.getDistinguishedName()); - } catch (Exception e) { - throw e; - } - } - - public List listTagsWithTask(EffectivePerson currentPerson, String taskId) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List tagIds = taskTagService.listTagIdsWithTask(emc, taskId, currentPerson.getDistinguishedName()); - if( ListTools.isNotEmpty( tagIds )) { - return emc.list( TaskTag.class, tagIds ); - }else { - return null; - } - } catch (Exception e) { - throw e; - } - } - - public List listTagNamesWithTask(EffectivePerson currentPerson, String taskId) throws Exception { - List tagNames = new ArrayList<>(); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List tagIds = taskTagService.listTagIdsWithTask(emc, taskId, currentPerson.getDistinguishedName()); - List tags = null; - - if( ListTools.isNotEmpty( tagIds )) { - tags = emc.list( TaskTag.class, tagIds ); - } - if( ListTools.isNotEmpty( tags )) { - for( TaskTag tag : tags ) { - tagNames.add( tag.getTag() ); - } - } - } catch (Exception e) { - throw e; - } - return tagNames; - } - - /** - * 根据项目和人员列示的项目标签信息 - * @param effectivePerson - * @param project - * @return - * @throws Exception - */ - public List listWithProjectAndPerson( EffectivePerson effectivePerson, String project ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List tags = taskTagService.listWithProjectAndPerson( emc, project, effectivePerson.getDistinguishedName() ); - return tags; - } catch (Exception e) { - throw e; - } - } - - public List listWithTaskAndPerson(EffectivePerson effectivePerson, Task task) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List reles = taskTagService.listReleWithTaskAndPerson(emc, task.getId(), effectivePerson.getDistinguishedName()); - List tags = new ArrayList<>(); - TaskTag tag = null; - for( TaskTagRele rele : reles ) { - tag = emc.find( rele.getTagId(), TaskTag.class ); - if( tag != null ) { - tags.add( tag ); - } - } - return tags; - } catch (Exception e) { - throw e; - } - } - - public List listTaskIdsWithTagContent( String tagName, String project, String personName ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - List tagIds = taskTagService.listTagIdsWithContent( emc, tagName, project, personName ); - if( ListTools.isNotEmpty( tagIds )) { - return taskTagService.listTaskIdsWithReleTagIds( emc, tagIds ); - } - } catch (Exception e) { - throw e; - } - return null; - } - - public List listTaskIdsWithTagIds( List tagIds ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( ListTools.isNotEmpty( tagIds )) { - return taskTagService.listTaskIdsWithReleTagIds( emc, tagIds ); - } - } catch (Exception e) { - throw e; - } - return null; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagService.java deleted file mode 100644 index 11e0d40402721906036610672109291b8fe40a5e..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskTagService.java +++ /dev/null @@ -1,165 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskTag; -import com.x.teamwork.core.entity.TaskTagRele; - -/** - * 对项目标签信息查询的服务 - * - * @author O2LEE - */ -class TaskTagService { - - /** - * 根据项目的id查询项目的信息 - * @param emc - * @param id - * @return - * @throws Exception - */ - protected TaskTag get( EntityManagerContainer emc, String id ) throws Exception { - return emc.find(id, TaskTag.class ); - } - - public List listTagIdsWithTask(EntityManagerContainer emc, String taskId, String person) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listTagIdsWithTask(taskId, person); - } - - /** - * 向数据库持久化动态信息 - * @param emc - * @param taskTag - * @return - * @throws Exception - */ - protected TaskTag save( EntityManagerContainer emc, TaskTag object ) throws Exception { - TaskTag taskTag = null; - if( StringUtils.isEmpty( object.getId() ) ){ - object.setId( TaskTag.createId() ); - } - taskTag = emc.find( object.getId(), TaskTag.class ); - emc.beginTransaction( TaskTag.class ); - if( taskTag == null ){ // 保存一个新的对象 - taskTag = new TaskTag(); - object.copyTo( taskTag ); - if( StringUtils.isNotEmpty( object.getId() ) ){ - taskTag.setId( object.getId() ); - } - emc.persist( taskTag, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - object.copyTo( taskTag, JpaObject.FieldsUnmodify ); - emc.check( taskTag, CheckPersistType.all ); - } - emc.commit(); - return taskTag; - } - - /** - * 根据项目标签删除项目信息 - * @param emc - * @param ID - * @throws Exception - */ - protected void delete(EntityManagerContainer emc, String id) throws Exception { - TaskTag taskTag = emc.find( id, TaskTag.class ); - if( taskTag != null ) { - emc.beginTransaction( TaskTag.class ); - emc.remove( taskTag , CheckRemoveType.all ); - emc.commit(); - } - } - - /** - * 添加任务标签 - * @param emc - * @param task - * @param taskTag - * @param personName - * @return - * @throws Exception - */ - public TaskTagRele addTagRele(EntityManagerContainer emc, Task task, TaskTag taskTag, String personName ) throws Exception { - Business business = new Business(emc); - List ids = business.taskTagFactory().listTagReleIdsWithTagIdAndTaskAndPerson( taskTag.getId(), task.getId(), personName); - if( ListTools.isEmpty( ids )) { - //添加一个关联信息 - TaskTagRele taskTagRele = new TaskTagRele(); - taskTagRele.setId( TaskTagRele.createId() ); - taskTagRele.setOwner(personName); - taskTagRele.setOrder( 0 ); - taskTagRele.setProject( task.getProject() ); - taskTagRele.setTagId( taskTag.getId() ); - taskTagRele.setTaskId( task.getId() ); - emc.beginTransaction( TaskTagRele.class ); - emc.persist( taskTagRele, CheckPersistType.all ); - emc.commit(); - return taskTagRele; - } - return null; - } - - /** - * 删除任务标签关联 - * @param emc - * @param taskId - * @param taskTagId - * @param personName - * @return - * @throws Exception - */ - public List removeTagRele(EntityManagerContainer emc, String taskId, String taskTagId, String personName ) throws Exception { - Business business = new Business(emc); - List ids = business.taskTagFactory().listTagReleIdsWithTagIdAndTaskAndPerson( taskTagId, taskId, personName); - List delIds = new ArrayList<>();; - if( ListTools.isNotEmpty( ids )) { - List reles = emc.list( TaskTagRele.class, ids); - if( ListTools.isNotEmpty( reles )) { - emc.beginTransaction( TaskTagRele.class ); - for( TaskTagRele rele : reles ) { - delIds.add( rele.getId() ); - emc.remove( rele, CheckRemoveType.all ); - } - emc.commit(); - } - } - return delIds; - } - - protected List listWithProjectAndPerson( EntityManagerContainer emc, String project, String person ) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listWithProjectAndPerson(project, person); - } - - protected List listReleWithProjectAndPerson( EntityManagerContainer emc, String project, String person ) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listReleWithProjectAndPerson(project, person); - } - - public List listReleWithTaskAndPerson(EntityManagerContainer emc, String taskId, String person) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listReleWithTaskAndPerson( taskId, person); - } - - public List listTagIdsWithContent(EntityManagerContainer emc, String tagName, String project, String personName ) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listTagIdsWithTagNameAndProjectAndPerson( tagName, project, personName); - } - - public List listTaskIdsWithReleTagIds(EntityManagerContainer emc, List tagIds) throws Exception { - Business business = new Business( emc ); - return business.taskTagFactory().listTaskIdsWithReleTagIds( tagIds ); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewPersistService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewPersistService.java deleted file mode 100644 index be72bdc69a0b2c77f47517863538738868837c91..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewPersistService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.teamwork.core.entity.TaskView; - -/** - * 对工作任务信息查询的服务 - */ -public class TaskViewPersistService { - - private TaskViewService taskViewService = new TaskViewService(); - - /** - * 根据工作任务视图标识删除工作任务视图信息 - * @param id - * @param effectivePerson - * @throws Exception - */ - public void delete( String id, EffectivePerson effectivePerson ) throws Exception { - if ( StringUtils.isEmpty( id )) { - throw new Exception("id is empty."); - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - TaskView taskView = taskViewService.get(emc, id); - if( taskView.getCreatorPerson().equals( effectivePerson.getDistinguishedName() ) - || taskView.getOwner().equals( effectivePerson.getDistinguishedName() )) { - taskViewService.delete( emc, id ); - }else { - throw new Exception("taskView delete permission denied."); - } - } catch (Exception e) { - throw e; - } - } - - /** - * 保存一个工作任务视图信息 - * @param taskView - * @param effectivePerson - * @return - * @throws Exception - */ - public TaskView save( TaskView taskView, EffectivePerson effectivePerson ) throws Exception { - if ( taskView == null) { - throw new Exception( "taskView is null." ); - } - taskView.setCreatorPerson( effectivePerson.getDistinguishedName() ); - if( StringUtils.isEmpty( taskView.getOwner() )) { - taskView.setOwner( effectivePerson.getDistinguishedName() ); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskView = taskViewService.save( emc, taskView ); - } catch (Exception e) { - throw e; - } - return taskView; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewQueryService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewQueryService.java deleted file mode 100644 index 847bec5ac54acdd1a9e4dc6a71971ca30cb35d50..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewQueryService.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -/** - * 对工作任务视图信息查询的服务 - * - * @author O2LEE - */ -public class TaskViewQueryService { - - private TaskViewService taskViewService = new TaskViewService(); - - /** - * 根据工作任务视图的标识查询工作任务视图信息 - * @param id - * @return - * @throws Exception - */ - public TaskView get( String id ) throws Exception { - if ( StringUtils.isEmpty( id )) { - return null; - } - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskViewService.get(emc, id ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据用户和项目ID查询工作任务视图 - * @param effectivePerson.getDistinguishedName() - * @param projectId - * @return - * @throws Exception - */ - public List listViewWithPersonAndProject( EffectivePerson effectivePerson, String project ) throws Exception { - if ( effectivePerson == null ) { - throw new Exception("effectivePerson is null."); - } - if ( StringUtils.isEmpty( project )) { - throw new Exception("project is empty."); - } - List taskViewList = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - taskViewList = taskViewService.listViewWithPersonAndProject(emc, effectivePerson.getDistinguishedName(), project); - //如果用户在该项目中没有工作任务组,则需要创建一个默认的工作任务组 - if( ListTools.isEmpty( taskViewList )) { - taskViewList = taskViewService.createDefaultTaskViewForPerson( emc, effectivePerson.getDistinguishedName(), project ); - } - } catch (Exception e) { - throw e; - } - return taskViewList; - } - - public Long countWithFilter( QueryFilter queryFilter ) throws Exception { - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - return taskViewService.countWithFilter(emc, queryFilter); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据条件查询符合条件的工作任务视图信息ID,根据上一条的sequnce查询指定数量的信息 - * @param effectivePerson - * @param pageSize - * @param lastId - * @param orderField - * @param orderType - * @param queryFilter - * @return - * @throws Exception - */ - public List listWithFilter( EffectivePerson effectivePerson, Integer pageSize, String lastId, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - List taskViewList = null; - List resultList = new ArrayList<>(); - Integer maxCount = 2000; - Task lastTask = null; - - if( pageSize == 0 ) { pageSize = 20; } - - if( StringUtils.isEmpty( orderField ) ) { - orderField = "createTime"; - } - if( StringUtils.isEmpty( orderType ) ) { - orderType = "desc"; - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - if( StringUtils.isNotEmpty(lastId) && !"(0)".equals( lastId ) && !"null".equals( lastId )) { - lastTask = emc.find( lastId, Task.class ); - } - taskViewList = taskViewService.listWithFilter( emc, maxCount, orderField, orderType, queryFilter ); - } catch (Exception e) { - throw e; - } - if( ListTools.isNotEmpty( taskViewList )) { - int count = 0; - if( lastTask != null ) { - boolean add = false; - //获取自lastTask之后的一页内容 - for( TaskView taskView : taskViewList ) { - if( add ) { - count ++; - if( count <= pageSize ) { - resultList.add( taskView ); - } - } - if( taskView.getId().equals( lastTask.getId() )) { - add = true; - } - } - }else { - //只获取第一页内容 - for( TaskView taskView : taskViewList ) { - count ++; - if( count <= pageSize ) { - resultList.add(taskView); - } - } - } - } - return resultList; - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewService.java deleted file mode 100644 index e808d438e02bf8894c145fab1dcf91f91e456953..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/TaskViewService.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.entity.JpaObject; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.entity.annotation.CheckRemoveType; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.core.entity.TaskView; -import com.x.teamwork.core.entity.tools.filter.QueryFilter; - -class TaskViewService { - - /** - * 根据工作任务视图的标识查询工作任务视图的信息 - * @param emc - * @param flag 主要是ID - * @return - * @throws Exception - */ - protected TaskView get(EntityManagerContainer emc, String flag) throws Exception { - Business business = new Business( emc ); - return business.taskViewFactory().get( flag ); - } - - /** - * 根据用户和项目ID查询工作任务视图 - * @param emc - * @param person - * @param projectId - * @return - * @throws Exception - */ - protected List listViewWithPersonAndProject( EntityManagerContainer emc, String person, String projectId ) throws Exception { - Business business = new Business( emc ); - return business.taskViewFactory().listWithPersonAndProject( person, projectId ); - } - - /** - * 向数据库持久化工作任务视图列表信息 - * @param emc - * @param taskView - * @return - * @throws Exception - */ - protected TaskView save( EntityManagerContainer emc, TaskView object ) throws Exception { - TaskView taskView = null; - - if( StringUtils.isEmpty( object.getId() ) ){ - object.setId( TaskView.createId() ); - } - taskView = emc.find( object.getId(), TaskView.class ); - emc.beginTransaction( TaskView.class ); - if( taskView == null ){ // 保存一个新的对象 - taskView = new TaskView(); - object.copyTo( taskView ); - if( StringUtils.isNotEmpty( object.getId() ) ){ - taskView.setId( object.getId() ); - } - emc.persist( taskView, CheckPersistType.all); - }else{ //对象已经存在,更新对象信息 - if( StringUtils.isNotEmpty( taskView.getCreatorPerson() )) { - object.setCreatorPerson( taskView.getCreatorPerson() ); - } - object.copyTo( taskView, JpaObject.FieldsUnmodify ); - emc.check( taskView, CheckPersistType.all ); - } - emc.commit(); - return taskView; - } - - /** - * 根据工作任务视图标识删除工作任务视图信息 - * @param emc - * @param id - * @throws Exception - */ - protected void delete( EntityManagerContainer emc, String id ) throws Exception { - emc.beginTransaction( TaskView.class ); - TaskView taskView = emc.find( id, TaskView.class ); - if( taskView != null ) { - emc.remove( taskView , CheckRemoveType.all ); - } - emc.commit(); - } - - /** - * 为用户在当前项目创建一组默认的工作任务视图 - * 所有任务、我负责的任务、未完成的任务、已完成的任务、逾期的任务 - * @param person - * @param project - * @return - * @throws Exception - */ - public List createDefaultTaskViewForPerson(EntityManagerContainer emc, String person, String project ) throws Exception { - List viewList = new ArrayList<>(); - TaskView view = null; - - view = new TaskView(); - view.setId( TaskView.createId() ); - view.setName( "所有工作" ); - view.setExecuteCode( "VIEW_ALL_TASK" ); - view.setProject(project); - view.setOwner( person ); - view.setCreatorPerson( "System" ); - view.setOrder(1); - view.setMemo( "默认视图-所有工作" ); - emc.beginTransaction( TaskView.class ); - emc.persist( view, CheckPersistType.all ); - emc.commit(); - viewList.add(view); - - view = new TaskView(); - view.setId( TaskView.createId() ); - view.setName( "我负责的任务" ); - view.setExecuteCode( "VIEW_MY_RESP_TASK" ); - view.setProject(project); - view.setOwner( person ); - view.setCreatorPerson( "System" ); - view.setOrder(2); - view.setMemo( "默认视图-我负责的任务" ); - view.setIsExcutor( true ); - emc.beginTransaction( TaskView.class ); - emc.persist( view, CheckPersistType.all ); - emc.commit(); - viewList.add(view); - - view = new TaskView(); - view.setId( TaskView.createId() ); - view.setName( "未完成的任务" ); - view.setExecuteCode( "VIEW_PROCESSING_TASK" ); - view.setProject(project); - view.setOwner( person ); - view.setCreatorPerson( "System" ); - view.setOrder(3); - view.setMemo( "默认视图-未完成的任务" ); - view.setWorkCompleted( 0 ); - emc.beginTransaction( TaskView.class ); - emc.persist( view, CheckPersistType.all ); - emc.commit(); - viewList.add(view); - - view = new TaskView(); - view.setId( TaskView.createId() ); - view.setName( "已完成的任务" ); - view.setExecuteCode( "VIEW_COMPLETED_TASK" ); - view.setProject(project); - view.setOwner( person ); - view.setCreatorPerson( "System" ); - view.setOrder(4); - view.setMemo( "默认视图-已完成的任务" ); - view.setWorkCompleted( 1 ); - emc.beginTransaction( TaskView.class ); - emc.persist( view, CheckPersistType.all ); - emc.commit(); - viewList.add(view); - - view = new TaskView(); - view.setId( TaskView.createId() ); - view.setName( "逾期的任务" ); - view.setExecuteCode( "VIEW_TIMEOVER_TASK" ); - view.setProject(project); - view.setOwner( person ); - view.setCreatorPerson( "System" ); - view.setOrder(5); - view.setMemo( "默认视图-逾期的任务" ); - view.setWorkOverTime( 1 ); - emc.beginTransaction( TaskView.class ); - emc.persist( view, CheckPersistType.all ); - emc.commit(); - viewList.add(view); - - return viewList; - } - - protected Long countWithFilter(EntityManagerContainer emc, QueryFilter queryFilter) throws Exception { - Business business = new Business(emc); - return business.taskViewFactory().countWithFilter( queryFilter); - } - - /** - * 根据条件查询符合条件的工作任务信息ID,根据上一条的sequnce查询指定数量的信息 - * @param emc - * @param maxCount - * @param orderField - * @param orderType - * @param personName - * @param queryFilter - * @return - * @throws Exception - */ - protected List listWithFilter( EntityManagerContainer emc, Integer maxCount, String orderField, String orderType, QueryFilter queryFilter ) throws Exception { - Business business = new Business( emc ); - return business.taskViewFactory().listWithFilter( maxCount, orderField, orderType, queryFilter); - } -} diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/UserManagerService.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/UserManagerService.java deleted file mode 100644 index bf5f877578e9923fd1dc3d4a1b5305eeb478e993..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/service/UserManagerService.java +++ /dev/null @@ -1,579 +0,0 @@ -package com.x.teamwork.assemble.control.service; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.organization.Person; -import com.x.base.core.project.organization.Unit; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; - - -/** - * 组织人员角色相关信息的服务类 - * - * @author O2LEE - */ -public class UserManagerService { - - private Logger logger = LoggerFactory.getLogger(UserManagerService.class); - - /** - * 根据人员名称获取人员 - * @param personName - * @return - * @throws Exception - */ - public Person getPerson( String personName ) throws Exception { - Business business = null; - Person person = null; - List personList = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - person = business.organization().person().getObject( personName ); - if( person == null ) { - if( personName.endsWith( "@P" ) && personName.split( "@P" ).length == 3 ) { - personList = business.organization().person().listObject( personName.split( "@" )[1] ); - if( ListTools.isNotEmpty( personList )) { - return personList.get(0); - } - } - } - if( person == null ) { - if( personName.endsWith( "@P" ) && personName.split( "@P" ).length == 3 ) { - personList = business.organization().person().listObject( personName.split( "@" )[0] ); - if( ListTools.isNotEmpty( personList )) { - return personList.get(0); - } - } - } - } catch ( Exception e ) { - throw e; - } - return person; - } - - /** - * 根据员工姓名获取组织名称 - * 如果用户有多个身份,由type参数来决定取组织级别最大的组织名称或者最小的组织名称 - * - * @param personName distinguishedName - * @param type max|min - * @return - * @throws Exception - */ - public String getUnitNameWithPerson( String personName, String type ) throws Exception { - List unitNames = null; - Business business = null; - Integer level = 0; - String result = null; - Unit unit = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - unitNames = business.organization().unit().listWithPerson( personName ); - if( ListTools.isNotEmpty( unitNames ) ) { - for( String unitName : unitNames ) { - unit = business.organization().unit().getObject( unitName ); - if( "max".equalsIgnoreCase( type )) { - if( level < unit.getLevel() ) { - level = unit.getLevel(); - result = unitName; - } - }else { - if( level > unit.getLevel() ) { - level = unit.getLevel(); - result = unitName; - } - } - } - } - } catch ( Exception e ) { - throw e; - } - return result; - } - - /** - * 根据个人姓名,由type参数来决定取组织级别最大的身份名称或者最小的身份名称 - * - * @param personName distinguishedName - * @param type max|min - * @return - * @throws Exception - */ - public String getIdentityWithPerson( String personName, String type ) throws Exception { - if( personName.endsWith( "@I" )) { - return personName; - } - List identities = null; - String unitName = null; - Integer level = 0; - String resultIdentity = null; - Unit unit = null; - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - //兼容一下传过来的perosnName有可能是个人,有可能是身份 - personName = business.organization().person().get( personName ); - identities = business.organization().identity().listWithPerson( personName ); - if( ListTools.isNotEmpty( identities ) ) { - for( String identity : identities ) { - unitName = business.organization().unit().getWithIdentity( identity ); - unit = business.organization().unit().getObject( unitName ); - if(StringUtils.isEmpty( resultIdentity )) { - resultIdentity = identity; - level = unit.getLevel(); - } - if( "max".equalsIgnoreCase( type )) { - if( level < unit.getLevel() ) { - level = unit.getLevel(); - resultIdentity = identity; - } - }else { - if( level > unit.getLevel() ) { - level = unit.getLevel(); - resultIdentity = identity; - } - } - } - } - return resultIdentity; - } catch ( Exception e ) { - throw e; - } - } - - /** - * 根据身份名称获取身份所属的组织名称 - * - * @param identity - * @return - * @throws Exception - */ - public String getUnitNameByIdentity( String identity ) throws Exception { - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - return business.organization().unit().getWithIdentity( identity ); - } catch( NullPointerException e ) { - logger.info( "根据身份获取所属组织名称时发生异常。identity:" + identity ); - throw e; - } catch (Exception e) { - logger.info( "根据身份获取所属组织名称时发生未知异常。identity:" + identity ); - throw e; - } - } - - /** - * 根据人员姓名获取人员所属的一级组织名称,如果人员有多个身份,则取组织等级最大的身份 - * @param personName distinguishedName - * @param level - * @return - * @throws Exception - */ - public String getTopUnitNameWithPerson( String personName ) throws Exception { - String identity = null; - String topUnitName = null; - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - //兼容一下传过来的perosnName有可能是个人,有可能是身份 - personName = business.organization().person().get( personName ); - identity = getIdentityWithPerson( personName, "max" ); - if( StringUtils.isNotEmpty( identity )){ - topUnitName = business.organization().unit().getWithIdentityWithLevel( identity, 1 ); - } - return topUnitName; - } catch ( Exception e ) { - throw e; - } - } - - /** - * 根据身份名称获取身份所属的顶层组织名称 - * - * @param identity - * @return - * @throws Exception - */ - public String getTopUnitNameByIdentity( String identity ) throws Exception { - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - return business.organization().unit().getWithIdentityWithLevel( identity, 1 ); - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - } - - - - /** - * 根据用户的身份查询用户的姓名 - * - * @param identity - * @return - * @throws Exception - */ - public String getPersonNameWithIdentity( String identity ) throws Exception { - if ( StringUtils.isEmpty( identity )) { - throw new Exception("identity is empty!"); - } - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - return business.organization().person().getWithIdentity( identity ); - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - } - - - /** - * 获取人员所属的所有组织名称列表 - * @param personName distinguishedName - * @return - * @throws Exception - */ - public List listUnitNamesWithPerson( String personName ) throws Exception { - List unitNames = null; - Business business = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business(emc); - unitNames = business.organization().unit().listWithPersonSupNested( personName ); - return unitNames; - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - } - - /** - * 根据用户姓名查询用户所有的身份信息 - * - * @param userName distinguishedName - * @return - * @throws Exception - */ - public List listIdentitiesWithPerson( String userName ) throws Exception { - if (userName == null || userName.isEmpty()) { - throw new Exception("userName is null!"); - } - Business business = null; - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - business = new Business(emc); - return business.organization().identity().listWithPerson( userName ); - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - } - - /** - * 列示人员所拥有的所有角色信息 - * @param personName distinguishedName - * @return - * @throws Exception - */ - public List listRoleNamesByPerson( String personName ) throws Exception { - Business business = null; - List roleList = null; - List nameList = new ArrayList(); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - roleList = business.organization().role().listWithPerson( personName ); - if ( ListTools.isNotEmpty( roleList ) ) { - roleList.stream().filter( r -> !nameList.contains( r )).distinct().forEach( r -> nameList.add( r )); - } - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - return nameList; - } - - /** - * 列示人员所拥有的所有群组信息 - * @param personName distinguishedName - * @return - * @throws Exception - */ - public List listGroupNamesByPerson( String personName ) throws Exception { - Business business = null; - List groupList = null; - List nameList = new ArrayList(); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - groupList = business.organization().group().listWithPerson( personName ); - if ( ListTools.isNotEmpty( groupList )) { - groupList.stream().filter( g -> !nameList.contains( g )).distinct().forEach( g -> nameList.add( g )); - } - } catch( NullPointerException e ) { - return null; - } catch (Exception e) { - throw e; - } - return nameList; - } - - /** - * 判断用户是否有指定的平台角色,比如CMS系统管理员 - * - * @param personName distinguishedName - * @param roleName distinguishedName - * @return - * @throws Exception - */ - public boolean isHasPlatformRole( String personName, String roleName) throws Exception { - if ( personName == null || personName.isEmpty()) { - throw new Exception("personName is null!"); - } - if (roleName == null || roleName.isEmpty()) { - throw new Exception("roleName is null!"); - } - List roleList = null; - Business business = null; - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - business = new Business(emc); - roleList = business.organization().role().listWithPerson( personName ); - if ( ListTools.isNotEmpty( roleList ) ) { - if( roleList.stream().filter( r -> roleName.equalsIgnoreCase( r )).count() > 0 ){ - return true; - } - } else { - return false; - } - } catch( NullPointerException e ) { - return false; - } catch (Exception e) { - throw e; - } - return false; - } - - /** - * 检查用户是否拥有指定的身份,如果有就用这个身份,如果没有就取第一个身份 - * @param personName distinguishedName - * @param identity distinguishedName - * @return - * @throws Exception - */ - public String checkPersonIdentity( String personName, String identity ) throws Exception { - String identityName = null; - List identityNames = listIdentitiesWithPerson( personName ); - if ( ListTools.isEmpty( identityNames )) { - throw new Exception("perons has no identity."); - } - if( StringUtils.isEmpty( identity ) ) { - identityName = identityNames.get(0); - }else { //判断传入的身份是否合法 - identityName = this.findIdentity( identityNames, identity ); - if ( identityName == null ) { - identityName = identityNames.get(0); - } - } - return identityName; - } - - /** - * 根据人员标识查询该用户拥有的所有的组织、群组、角色名列表 - * @param personName distinguishedName - * @return - * @throws Exception - */ - public List listPersonPermissionCodes(String personName) throws Exception { - List queryObjectNames = new ArrayList<>(); - List groupNames = null; - List roleNames = null; - List unitNames = null; - - //选查询个人涉及的所有组织角色以及群组编码 - groupNames = listGroupNamesByPerson( personName ); - roleNames = listRoleNamesByPerson( personName ); - unitNames = listUnitNamesWithPerson(personName); - - queryObjectNames.add( personName ); - - //将三个列表合为一个,再进行分类权限查询 - if( groupNames != null && !groupNames.isEmpty() ) { - for( String name : groupNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - if( roleNames != null && !roleNames.isEmpty() ) { - for( String name : roleNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - if( unitNames != null && !unitNames.isEmpty() ) { - for( String name : unitNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - return queryObjectNames; - } - - /** - * 在List里找指定的值,如果找不到就返回空,如果需要匹配的identityName为空,那么就返回第一个身份 - * @param identityNames - * @param identityName - * @return - * @throws Exception - */ - private String findIdentity( List identityNames, String identityName ) throws Exception { - if( StringUtils.isNotEmpty( identityName )){ - if( ListTools.isNotEmpty( identityNames ) ){ - for ( String identity : identityNames ) { - if ( identity.equalsIgnoreCase(identityName) ) { - return identity; - } - } - } - } - return null; - } - - public List getPersonPermissionCodes(String personName) throws Exception { - List queryObjectNames = new ArrayList<>(); - List groupNames = null; - List roleNames = null; - List unitNames = null; - - //选查询个人涉及的所有组织角色以及群组编码 - groupNames = listGroupNamesByPerson( personName ); - roleNames = listRoleNamesByPerson( personName ); - unitNames = listUnitNamesWithPerson(personName); - - queryObjectNames.add( personName ); - - //将三个列表合为一个,再进行分类权限查询 - if( groupNames != null && !groupNames.isEmpty() ) { - for( String name : groupNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - if( roleNames != null && !roleNames.isEmpty() ) { - for( String name : roleNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - if( unitNames != null && !unitNames.isEmpty() ) { - for( String name : unitNames ) { - if( !queryObjectNames.contains( name )) { - queryObjectNames.add( name ); - } - } - } - return queryObjectNames; - } - - /** - * 根据组织名称,查询组织内所有的人员标识,包括下级组织 - * @param unitName - * @return - * @throws Exception - */ - public List listPersonWithUnit( String unitName ) throws Exception { - if ( StringUtils.isEmpty( unitName )) { - throw new Exception("unitName is empty!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - Business business = new Business(emc); - return business.organization().person().listWithUnitSubNested( unitName ); - } catch (Exception e) { - throw e; - } - } - - /** - * 根据群组名称,查询群组内所有的人员标识 - * @param groupName - * @return - * @throws Exception - */ - public List listPersonWithGroup( String groupName ) throws Exception { - if ( StringUtils.isEmpty( groupName )) { - throw new Exception("groupName is empty!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - Business business = new Business(emc); - return business.organization().person().listWithGroup( groupName ); - } catch (Exception e) { - throw e; - } - } - - public List listPersonWithRole(String role ) throws Exception { - if ( StringUtils.isEmpty( role )) { - throw new Exception("role is empty!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - Business business = new Business(emc); - return business.organization().person().listWithRole( role ); - } catch (Exception e) { - throw e; - } - } - - /** - * 查询系统内所有顶级组织的数量 - * @return - * @throws Exception - */ - public int countTopUnit() throws Exception { - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - Business business = new Business(emc); - List unitNames = business.organization().unit().listWithLevel(1); - if( ListTools.isNotEmpty( unitNames )) { - return unitNames.size(); - } - } catch (Exception e) { - throw e; - } - return 0; - } - - /** - * 判断指定组织是否是顶级组织 - * @param unitName - * @return - * @throws Exception - */ - public boolean isTopUnit(String unitName ) throws Exception { - if ( StringUtils.isEmpty( unitName )) { - throw new Exception("unitName is empty!"); - } - try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) { - Business business = new Business(emc); - List unitNames = business.organization().unit().listWithLevel(1); - if( ListTools.isNotEmpty( unitNames ) && unitNames.contains( unitName )) { - return true; - } - } catch (Exception e) { - throw e; - } - return false; - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_BatchOperationTask.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_BatchOperationTask.java deleted file mode 100644 index 69679940c24731d61e4601e6e51859c8b5627562..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_BatchOperationTask.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.x.teamwork.assemble.control.timertask; - -import java.util.List; - -import org.quartz.JobExecutionContext; - -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.schedule.AbstractJob; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.assemble.control.service.BatchOperationQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.core.entity.BatchOperation; -import com.x.teamwork.core.entity.Task; - -/** - * 定时代理: 定期执行批处理,将批处理信息压入队列(如果队列是空的话) - * - */ -public class Timertask_BatchOperationTask extends AbstractJob { - - private static Logger logger = LoggerFactory.getLogger( Timertask_BatchOperationTask.class ); - private BatchOperationQueryService batchOperationQueryService = new BatchOperationQueryService(); - - @Override - public void schedule(JobExecutionContext jobExecutionContext) throws Exception { - if( ThisApplication.queueBatchOperation.isEmpty() ) {//如果队列里有消息需要处理,先处理队列 - List operations = null; - try { - logger.info("Timertask_BatchOperationTask -> query 2000 task batch operation in database......"); - ////如果队列处理完了,就看看有没有批处理信息 - operations = batchOperationQueryService.list( 2000 ); - } catch (Exception e) { - logger.warn("Timertask_BatchOperationTask -> list operations got an exception."); - logger.error(e); - } - if( ListTools.isNotEmpty( operations )) { - for( BatchOperation operation : operations ) { - try { - logger.info("Timertask_BatchOperationTask -> send operation to queue[queueBatchOperation]......"); - ThisApplication.queueBatchOperation.send( operation ); - Thread.sleep(500 ); - } catch (Exception e) { - logger.warn("Timertask_BatchOperationTask -> send operation to queue got an exception."); - logger.error(e); - } - } - }else { - logger.info("Timertask_BatchOperationTask -> not found any task batch operation, try to check unreview task in database......"); - //如果队列里已经没有任务了,那么检查一下是否还有未revieiw的工作任务,添加到队列刷新工作作息的Review - BatchOperationPersistService batchOperationPersistService = new BatchOperationPersistService(); - TaskQueryService taskQueryService = new TaskQueryService(); - List tasks = null; - try { - tasks = taskQueryService.listUnReviewIds(1000); - if( ListTools.isNotEmpty( tasks )) { - for( Task task : tasks ) { - logger.info("Timertask_BatchOperationTask addOperation->refresh permission for task:" + task.getName()); - batchOperationPersistService.addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, task.getId(), task.getId(), "refresh permission for task:" + task.getName()); - } - }else { - logger.info("Timertask_BatchOperationTask -> not found any unreview task in database."); - //也没有需要review的文档了,那么检查一下最近变更过的身份,组织,群组,人员等信息 - } - } catch (Exception e) { - e.printStackTrace(); - } - } - }else { - logger.info("Timertask_BatchOperationTask -> queueBatchOperation is processing, wait to next excute."); - } - logger.info("Timertask_BatchOperationTask -> batch operations timer task excute completed."); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_CheckAllTaskOverTime.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_CheckAllTaskOverTime.java deleted file mode 100644 index 166edca5b4671e7f6b3699398bd9f0903972b0df..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_CheckAllTaskOverTime.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.x.teamwork.assemble.control.timertask; - -import java.util.Date; -import java.util.List; - -import org.apache.commons.lang3.time.DateUtils; -import org.quartz.JobExecutionContext; - -import com.x.base.core.container.EntityManagerContainer; -import com.x.base.core.container.factory.EntityManagerContainerFactory; -import com.x.base.core.entity.annotation.CheckPersistType; -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.schedule.AbstractJob; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.Business; -import com.x.teamwork.assemble.control.service.MessageFactory; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.core.entity.Review; -import com.x.teamwork.core.entity.Task; -import com.x.teamwork.core.entity.TaskStatuType; - -/** - * 定时代理: 定期将所有的工作任务的截止时间核对一次,标识超时的工作任务 - * - */ -public class Timertask_CheckAllTaskOverTime extends AbstractJob { - - private ProjectQueryService projectQueryService = new ProjectQueryService(); - private TaskQueryService taskQueryService = new TaskQueryService(); - private static Logger logger = LoggerFactory.getLogger( Timertask_CheckAllTaskOverTime.class ); - - @Override - public void schedule(JobExecutionContext jobExecutionContext) throws Exception { - Task task = null; - Date now = new Date(); - List projectIds = null; - List taskIds = null; - logger.info("Timertask_CheckAllTaskOverTime -> Check task excute start."); - try { - projectIds = projectQueryService.listAllProjectIds(); - } catch (Exception e) { - e.printStackTrace(); - } - - if( ListTools.isNotEmpty( projectIds )) { - for( String projectId : projectIds ) { - try { - taskIds = taskQueryService.listAllTaskIdsWithProject( projectId ); - try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { - Business business = new Business( emc ); - if( ListTools.isNotEmpty( taskIds )) { - for( String taskId : taskIds ) { - task = emc.find( taskId, Task.class ); - if( task != null ) { - //logger.info("Timertask_CheckAllTaskOverTime check task:" + task.getName()); - - if( task.getEndTime() != null && !TaskStatuType.completed.name().equalsIgnoreCase( task.getWorkStatus() )) { - if( task.getEndTime().before( now ) && !task.getOvertime()) { - //超时了,打上标识,并且发送提醒 - logger.info("Timertask_CheckAllTaskOverTime check task:"+task.getName()+"超时,打上标识,并发送提醒"); - emc.beginTransaction( Task.class ); - task.setOvertime( true ); - emc.check( task, CheckPersistType.all ); - emc.commit(); - - //同时修改对应Review文档 - List subTaskReviewIds = null; - List subTaskReviews = null; - subTaskReviewIds = business.reviewFactory().listReviewByTask(taskId, 999); - if( ListTools.isNotEmpty( subTaskReviewIds ) ) { - subTaskReviews = emc.list( Review.class, subTaskReviewIds ); - if( ListTools.isNotEmpty(subTaskReviews)) { - emc.beginTransaction( Task.class ); - for( Review review : subTaskReviews ) { - review.setOvertime(true); - emc.check( review , CheckPersistType.all ); - } - emc.commit(); - } - } - - try { - MessageFactory.message_to_teamWorkOverTime( task, true ); - } catch (Exception e) { - logger.error(e); - } - } - if( task.getEndTime().after( now ) && task.getOvertime()) { - logger.info("Timertask_CheckAllTaskOverTime check task:"+task.getName()+"超时变未超时,打上标识,不发送提醒"); - //超时变未超时,打上标识,不发送提醒 - emc.beginTransaction( Task.class ); - task.setOvertime( false ); - emc.check( task, CheckPersistType.all ); - emc.commit(); - - //同时修改对应Review文档 - List subTaskReviewIds = null; - List subTaskReviews = null; - subTaskReviewIds = business.reviewFactory().listReviewByTask(taskId, 999); - if( ListTools.isNotEmpty( subTaskReviewIds ) ) { - subTaskReviews = emc.list( Review.class, subTaskReviewIds ); - if( ListTools.isNotEmpty(subTaskReviews)) { - emc.beginTransaction( Review.class ); - for( Review review : subTaskReviews ) { - review.setOvertime(false); - emc.check( review , CheckPersistType.all ); - } - emc.commit(); - } - } - } - - Date now_30 = DateUtils.addMinutes(task.getEndTime(), -30); - if( now_30.before( now ) && !task.getOvertime()) { - //发送工作任务即将超时提醒 - try { - MessageFactory.message_to_teamWorkOverTime( task, false ); - } catch (Exception e) { - logger.error(e); - } - } - } - } - } - } - } catch (Exception e) { - throw e; - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - } - logger.info("Timertask_CheckAllTaskOverTime -> Check task excute completed."); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_RefreshAllTaskReview.java b/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_RefreshAllTaskReview.java deleted file mode 100644 index 60c3a3f5a50920525a9aaa1ed99aaa32524dab06..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/java/com/x/teamwork/assemble/control/timertask/Timertask_RefreshAllTaskReview.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.x.teamwork.assemble.control.timertask; - -import java.util.List; - -import org.quartz.JobExecutionContext; - -import com.x.base.core.project.logger.Logger; -import com.x.base.core.project.logger.LoggerFactory; -import com.x.base.core.project.schedule.AbstractJob; -import com.x.base.core.project.tools.ListTools; -import com.x.teamwork.assemble.control.ThisApplication; -import com.x.teamwork.assemble.control.service.BatchOperationPersistService; -import com.x.teamwork.assemble.control.service.BatchOperationProcessService; -import com.x.teamwork.assemble.control.service.ProjectQueryService; -import com.x.teamwork.assemble.control.service.TaskQueryService; -import com.x.teamwork.core.entity.Task; - -/** - * 定时代理: 定期将所有的工作任务的Review重新核对一次,定期做修复 - * - */ -public class Timertask_RefreshAllTaskReview extends AbstractJob { - - private BatchOperationPersistService batchOperationPersistService = new BatchOperationPersistService(); - private ProjectQueryService projectQueryService = new ProjectQueryService(); - private TaskQueryService taskQueryService = new TaskQueryService(); - private static Logger logger = LoggerFactory.getLogger( Timertask_RefreshAllTaskReview.class ); - - @Override - public void schedule(JobExecutionContext jobExecutionContext) throws Exception { - if( ThisApplication.queueBatchOperation.isEmpty() ) {//如果队列里有消息需要处理,先处理队列 - logger.info("Timertask_BatchOperationTask ->try to check all task in database......"); - //如果队列里已经没有任务了,那么检查一下是否还有未revieiw的工作任务,添加到队列刷新工作作息的Review - - Task task = null; - List projectIds = null; - List taskIds = null; - try { - projectIds = projectQueryService.listAllProjectIds(); - } catch (Exception e) { - e.printStackTrace(); - } - - if( ListTools.isNotEmpty( projectIds )) { - for( String projectId : projectIds ) { - try { - taskIds = taskQueryService.listAllTaskIdsWithProject( projectId ); - if( ListTools.isNotEmpty( taskIds )) { - for( String taskId : taskIds ) { - task = taskQueryService.get( taskId ); - if( task != null ) { - logger.info("Timertask_RefreshAllTaskReview addOperation->refresh permission for task:" + task.getName()); - batchOperationPersistService.addOperation( - BatchOperationProcessService.OPT_OBJ_TASK, - BatchOperationProcessService.OPT_TYPE_PERMISSION, task.getId(), task.getId(), "refresh permission for task:" + task.getName()); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - - } - logger.info("Timertask_BatchOperationTask -> batch operations timer task excute completed."); - } -} \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/webapp/jest/clipboard.min.js b/o2server/x_teamwork_assemble_control/src/main/webapp/jest/clipboard.min.js deleted file mode 100644 index 90fd15b1c06ab11571aceb625f76512bbc2b67ad..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/webapp/jest/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v1.7.1 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n||t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function t(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function t(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function t(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function t(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function t(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function t(){this.removeFake()}},{key:"action",set:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:5}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if(void 0!==o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var s=i(e),u=i(n),f=i(o),d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===d(e.container)?e.container:document.body}},{key:"listenClick",value:function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})}},{key:"onClick",value:function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),container:this.container,trigger:n,emitter:this})}},{key:"defaultAction",value:function t(e){return l("action",e)}},{key:"defaultTarget",value:function t(e){var n=l("target",e);if(n)return document.querySelector(n)}},{key:"defaultText",value:function t(e){return l("text",e)}},{key:"destroy",value:function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach(function(t){o=o&&!!document.queryCommandSupported(t)}),o}}]),e}(u.default);t.exports=p})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file diff --git a/o2server/x_teamwork_assemble_control/src/main/webapp/jest/describe.js b/o2server/x_teamwork_assemble_control/src/main/webapp/jest/describe.js deleted file mode 100644 index 81f9982d02f62795c66f596c642946df1bc6c8d4..0000000000000000000000000000000000000000 --- a/o2server/x_teamwork_assemble_control/src/main/webapp/jest/describe.js +++ /dev/null @@ -1,1350 +0,0 @@ -var Describe = function() { - // 20180730 -} -Describe.splitValue = function(str) { - if (str) { - if (str.length > 0) { - return str.split(','); - } - } - return []; -} -Describe.joinValue = function(o, split) { - var s = ','; - if (split) { - s = '' + split; - } - if (o) { - if (toString.apply(o) === '[object Array]') { - return o.join(s); - } - } - return o; -} -Describe.doPost = function(address, m, data) { - $('#url').html(address); - if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { - $.ajax({ - url : address, - type : 'POST', - headers : { - 'x-debugger' : true - }, - contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, - processData : (m.contentType.indexOf('application/json') > -1) ? true : false, - xhrFields : { - 'withCredentials' : true - }, - data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) - }).always(function(resultJson) { - $('#result').html(JSON.stringify(resultJson, null, 4)); - Describe.writeOut(m.outs, resultJson); - }); - } else { - $.ajax({ - url : address, - type : 'POST', - headers : { - 'x-debugger' : true - }, - contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, - processData : (m.contentType.indexOf('application/json') > -1) ? true : false, - xhrFields : { - 'withCredentials' : true - }, - data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) - }); - } -} -Describe.doPut = function(address, m, data) { - $('#url').html(address); - if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { - $.ajax({ - url : address, - type : 'PUT', - headers : { - 'x-debugger' : true - }, - contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, - processData : (m.contentType.indexOf('application/json') > -1) ? true : false, - xhrFields : { - 'withCredentials' : true - }, - data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) - }).always(function(resultJson) { - $('#result').html(JSON.stringify(resultJson, null, 4)); - Describe.writeOut(m.outs, resultJson); - }); - } else { - $.ajax({ - url : address, - type : 'PUT', - headers : { - 'x-debugger' : true - }, - contentType : (m.contentType.indexOf('application/json') > -1) ? m.contentType : false, - processData : (m.contentType.indexOf('application/json') > -1) ? true : false, - xhrFields : { - 'withCredentials' : true - }, - data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data) - }); - } -} -Describe.doGet = function(address, m) { - $('#url').html(address); - if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { - $.ajax({ - type : 'GET', - dataType : 'json', - url : address, - headers : { - 'x-debugger' : true - }, - contentType : m.contentType, - xhrFields : { - 'withCredentials' : true - }, - crossDomain : true - }).always(function(resultJson) { - $('#result').html(JSON.stringify(resultJson, null, 4)); - Describe.writeOut(m.outs, resultJson); - }); - } else { - window.open(address, '_blank'); - } -} -Describe.doDelete = function(address, m) { - $('#url').html(address); - if ((m.resultContentType) && m.resultContentType.indexOf('application/json') > -1) { - $.ajax({ - type : 'DELETE', - dataType : 'json', - url : address, - headers : { - 'x-debugger' : true - }, - contentType : m.contentType, - xhrFields : { - 'withCredentials' : true - }, - crossDomain : true - }).always(function(resultJson) { - $('#result').html(JSON.stringify(resultJson, null, 4)); - Describe.writeOut(m.outs, resultJson); - }); - } else { - $.ajax({ - type : 'DELETE', - dataType : 'json', - url : address, - headers : { - 'x-debugger' : true - }, - contentType : m.contentType, - xhrFields : { - 'withCredentials' : true - }, - crossDomain : true - }); - } -} -Describe.writeOut = function(outs, json) { - if (outs && (outs.length) && json && json.data) { - $.each(Object.keys(json.data), function(i, k) { - $('#out_' + k + '_out', '#outs').html(json.data[k]); - }); - } -} - -Describe.createSampleMootools = function(m) { - debugger; - var address = window.location.href; - address = address.substring(0,address.indexOf("/jest/")); - var address = address +"/"+ m.path; - if (m.pathParameters && m.pathParameters.length > 0) { - $.each(m.pathParameters, function(pi, p) { - address = address.replace('{' + p.name + '}', '替换参数'+pi); - }); - } - if (m.queryParameters && m.queryParameters.length > 0) { - $.each(m.queryParameters, function(pi, p) { - var query = p.name + '=' + '替换参数'+pi; - if (address.indexOf("?") > 0) { - address += '&' + query; - } else { - address += '?' + query; - } - }); - } - - var strSample=""; - if (m.contentType.indexOf('application/json') > -1) { - strSample = "var data = {};" + "\n"; - if (m.ins && m.ins.length > 0) { - $.each(m.ins, function(ii, i) { - switch (i.type) { - default: - if (i.isBaseType) { - if (i.isCollection) { - strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; - } else { - strSample += ' data["'+i.name+'"] = "参数";' + "\n"; - } - } else { - if(i.isCollection){ - if(i.fieldValue){ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; - }else{ - strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; - } - - }else{ - strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; - } - }else{ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = "'+ i.fieldValue +'";'+"\n"; - }else{ - - strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; - } - } - } - } - }); - } else if (m.useJsonElementParameter) { - strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; - } else if (m.useStringParameter) { - strSample += 'data = "参数";'+"\n"; - } - - strSample += " \n var mootoolsRequest = new Request({" + "\n"; - strSample += " url:'"+address + "',\n"; - strSample += " method:'"+ m.type + "',\n"; - strSample += " dataType:'json',\n"; - strSample += " headers : {'Content-Type':'application/json;charset=utf8','x-token':'实际的x-token'}" + ",\n"; - if((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter)){ - strSample += " data:JSON.stringify(data),\n"; - }else{ - strSample += " data:data,\n"; - } - strSample += " onRequest: function(){ },"+ "\n"; - strSample += " onSuccess: function(responseText){},"+ "\n"; - strSample += " onFailure: function(){}"+ "\n"; - strSample +="}).send();"+ "\n"; - } else { - /* - strSample = "var formData = new FormData();" + "\n"; - if (m.formParameters && m.formParameters.length > 0) { - $.each(m.formParameters, function(pi, p) { - if (p.type == "File") { - //formData.append(p.name, $('input[type=file]', '#formParameters')[0].files[0]); - strSample += 'formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; - } else { - strSample += 'formData.append("'+p.name+'", "参数'+pi+'");' + "\n"; - } - }); - } - - strSample += "$.ajax({" + "\n"; - strSample += "type : '"+ m.type + "',\n"; - strSample += "url : '"+address + "',\n"; - strSample += "headers : {'x-debugger' : true}" + ",\n"; - strSample += "contentType : false,\n"; - strSample += "processData : false,\n"; - strSample += "xhrFields : {'withCredentials' : true}" + ",\n"; - strSample += "crossDomain : true"+ ",\n"; - strSample += "data : formData"+"\n"; - strSample += "});"; - */ - } - - return strSample; - } - -Describe.createSampleJSO2= function(m) { - var address = window.location.href; - address = address.substring(0,address.indexOf("/jest/")); - var uri = address.substring(address.lastIndexOf("/")+1,address.length); - address = m.path; - address = address.substring(address.indexOf("jaxrs/")+6,address.length); - var parameter = ""; - if (m.pathParameters && m.pathParameters.length > 0) { - $.each(m.pathParameters, function(pi, p) { - address = address.replace('{' + p.name + '}', '替换参数'+pi); - if(parameter == ""){ - parameter = "\"" + p.name + "\"" + ":" + '"替换参数'+pi +'"'; - }else{ - parameter = parameter + ",\"" + p.name + "\"" + ":" + '替换参数'+pi +'"'; - } - }); - } - if (m.queryParameters && m.queryParameters.length > 0) { - $.each(m.queryParameters, function(pi, p) { - var query = p.name + '=' + '替换参数'+pi; - if (address.indexOf("?") > 0) { - address += '&' + query; - } else { - address += '?' + query; - } - }); - } - - var strSample=""; - if (m.contentType.indexOf('application/json') > -1) { - strSample = "var data = {};" + "\n"; - if (m.ins && m.ins.length > 0) { - $.each(m.ins, function(ii, i) { - switch (i.type) { - default: - if (i.isBaseType) { - if (i.isCollection) { - strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; - } else { - strSample += ' data["'+i.name+'"] = "参数";' + "\n"; - } - } else { - if(i.isCollection){ - if(i.fieldValue){ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; - }else{ - strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; - } - - }else{ - strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; - } - }else{ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = "'+ i.fieldValue + '";' + "\n"; - }else{ - strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; - } - } - } - } - }); - } else if (m.useJsonElementParameter) { - strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; - } else if (m.useStringParameter) { - strSample += 'data = "参数";'+"\n"; - } - var functionName = "do"; - strSample += "\n var root = \"" + uri + "\";" + "\n"; - strSample += " var options = { " + "\n"; - strSample += " " + functionName + ":{ //服务命名1,自定义"+ "\n"; - strSample += " \"uri\": \"/" + m.path + "\","+ "\n";; - strSample += " \"method\": \""+m.type+"\""+ "\n"; - strSample += " }"+ "\n"; - strSample += " }" + "\n"; - strSample += "var action = new this.Action( root, options);" + "\n\n"; - strSample += "action.invoke({" + "\n"; - strSample += " \"name\": \"" + functionName+ "\", //自定义的服务名" + "\n"; - strSample += " \"parameter\": {" + parameter+ "}, //uri参数 " + "\n"; - strSample += " \"data\": data, //请求的正文, JsonObject " + "\n"; - strSample += " \"success\": function(json){ //服务调用成功时的回调方法,json 是服务返回的数据" + "\n"; - strSample += " //这里进行具体的处理"+ "\n"; - strSample += " }.bind(this),"+ "\n"; - strSample += " \"failure\" : function(xhr){ //服务调用失败时的回调方法,xhr 为 XMLHttpRequest 对象" + "\n"; - strSample += " //这里进行具体的处理"+ "\n"; - strSample += " },"+ "\n"; - strSample += " \"async\" : true, //同步还是异步,默认为true" + "\n"; - strSample += " \"withCredentials\" : true, //是否允许跨域请求,默认为true" + "\n"; - strSample += " \"urlEncode\" : true //uri参数是否需要通过encodeURIComponent函数编码,默认为true" + "\n"; - strSample += "});" - } else { - - } - return strSample; - } - - - -Describe.createSampleO2= function(m) { - var address = window.location.href; - address = address.substring(0,address.indexOf("/jest/")); - var uri = address.substring(address.lastIndexOf("/")+1,address.length); - address = m.path; - address = address.substring(address.indexOf("jaxrs/")+6,address.length); - if (m.pathParameters && m.pathParameters.length > 0) { - $.each(m.pathParameters, function(pi, p) { - address = address.replace('{' + p.name + '}', '替换参数'+pi); - }); - } - if (m.queryParameters && m.queryParameters.length > 0) { - $.each(m.queryParameters, function(pi, p) { - var query = p.name + '=' + '替换参数'+pi; - if (address.indexOf("?") > 0) { - address += '&' + query; - } else { - address += '?' + query; - } - }); - } - - var strSample=""; - if (m.contentType.indexOf('application/json') > -1) { - strSample = "var data = {};" + "\n"; - if (m.ins && m.ins.length > 0) { - $.each(m.ins, function(ii, i) { - switch (i.type) { - default: - if (i.isBaseType) { - if (i.isCollection) { - strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; - } else { - strSample += ' data["'+i.name+'"] = "参数";' + "\n"; - } - } else { - if(i.isCollection){ - if(i.fieldValue){ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; - }else{ - strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; - } - - }else{ - strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; - } - }else{ - if(i.fieldType =='enum'){ - - strSample += ' data["'+i.name+'"] = "'+i.fieldValue+'"\n'; - }else{ - strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; - } - - } - } - } - }); - } else if (m.useJsonElementParameter) { - strSample += 'data = {"参数1":"value1","参数2":"value2"};' +"\n"; - } else if (m.useStringParameter) { - strSample += 'data = "参数";'+"\n"; - } - - - if(m.type=="POST"){ - strSample += " \n var string = JSON.stringify(data);" + "\n"; - strSample += " var applications = this.Action.applications;"+ "\n"; - strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; - strSample += " var path = \"" + address + "\";"+ "\n"; ; - strSample += " var resp = applications.postQuery( serviceRoot, path , string);"+ "\n"; - } - if(m.type=="GET"){ - strSample += " \n var applications = this.Action.applications;"+ "\n"; - strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; - strSample += " var path = \"" + address + "\";"+ "\n"; ; - strSample += " var resp = applications.getQuery( serviceRoot, path );"+ "\n"; - } - if(m.type=="PUT"){ - strSample += " \n var string = JSON.stringify(data)"+ "\n"; - strSample += " var applications = this.Action.applications"+ "\n"; - strSample += " var serviceRoot = \"" + uri + "\";"+ "\n"; - strSample += " var path = \"" + address+ "\";"+ "\n"; ; - strSample += " var resp = applications.putQuery( serviceRoot, path , string);"+ "\n"; - } - if(m.type=="DELETE"){ - strSample += " \n var applications = this.Action.applications;"+ "\n"; - strSample += " var serviceRoot = \" "+ uri + "\";"+ "\n"; - strSample += " var path = \"" + address + "\";"+ "\n"; ; - strSample += " var resp = applications.deleteQuery( serviceRoot, path);"+ "\n"; - } - - strSample += " var json = JSON.parse( resp.toString() );"+ "\n"; - - } else { - - } - return strSample; - } -Describe.createSample= function(m) { - var address = window.location.href; - address = address.substring(0,address.indexOf("/jest/")); - var address = address +"/"+ m.path; - if (m.pathParameters && m.pathParameters.length > 0) { - $.each(m.pathParameters, function(pi, p) { - address = address.replace('{' + p.name + '}', '替换参数'+pi); - }); - } - if (m.queryParameters && m.queryParameters.length > 0) { - $.each(m.queryParameters, function(pi, p) { - var query = p.name + '=' + '替换参数'+pi; - if (address.indexOf("?") > 0) { - address += '&' + query; - } else { - address += '?' + query; - } - }); - } - - var strSample=""; - if (m.contentType.indexOf('application/json') > -1) { - if (m.ins && m.ins.length > 0) { - strSample = "var data = {};" + "\n"; - $.each(m.ins, function(ii, i) { - switch (i.type) { - default: - if (i.isBaseType) { - if (i.isCollection) { - strSample += ' data["'+i.name+'"] = ["参数1"];' + "\n"; - } else { - strSample += ' data["'+i.name+'"] = "参数";' + "\n"; - } - } else { - if(i.isCollection){ - if(i.fieldValue){ - if(i.fieldType =='enum'){ - strSample += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; - }else{ - strSample += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; - } - - }else{ - strSample += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; - } - }else{ - if(i.fieldType =='enum'){ - - strSample += ' data["'+i.name+'"] = "'+i.fieldValue+'"\n'; - }else{ - strSample += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; - } - - - } - } - } - }); - } else if (m.useJsonElementParameter) { - strSample += ' data = {"参数1":"value1","参数2":"value2"};' +"\n"; - } else if (m.useStringParameter) { - strSample += ' data = "参数";'+"\n"; - } - - strSample += "\n$.ajax({" + "\n"; - strSample += " type : '"+ m.type + "',\n"; - strSample += " dataType : 'json'" + ",\n"; - strSample += " url : '"+address + "',\n"; - strSample += " headers : {'x-debugger' : true}" + ",\n"; - strSample += " contentType : '"+m.contentType+ "',\n"; - strSample += " xhrFields : {'withCredentials' : true}" + ",\n"; - strSample += " crossDomain : true"+ ",\n"; - - if((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter)){ - strSample += " data : JSON.stringify(data),\n"; - }else{ - strSample += " data : data"+"\n"; - } - - strSample += "}).always(function(resultJson) {"+"\n"; - strSample += " alert(JSON.stringify(resultJson, null, 4))" +"\n"; - strSample += "});"; - - } else { - strSample = "var formData = new FormData();" + "\n"; - if (m.formParameters && m.formParameters.length > 0) { - $.each(m.formParameters, function(pi, p) { - if (p.type == "File") { - //formData.append(p.name, $('input[type=file]', '#formParameters')[0].files[0]); - strSample += 'formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; - } else { - strSample += 'formData.append("'+p.name+'", "参数'+pi+'");' + "\n"; - } - }); - } - strSample += "$.ajax({" + "\n"; - strSample += " type : '"+ m.type + "',\n"; - strSample += " url : '"+address + "',\n"; - strSample += " headers : {'x-debugger' : true}" + ",\n"; - strSample += " contentType : false,\n"; - strSample += " processData : false,\n"; - strSample += " xhrFields : {'withCredentials' : true}" + ",\n"; - strSample += " crossDomain : true"+ ",\n"; - strSample += " data : formData"+"\n"; - strSample += "});"; - } - - return strSample; - } -Describe.createSampleCommon= function(m,className) { - debugger; - var address = window.location.href; - address = address.substring(0,address.indexOf("/jest/")); - var root = address.substring(address.lastIndexOf("/")+1,address.length); - - var parameter = ""; - if (m.pathParameters && m.pathParameters.length > 0) { - $.each(m.pathParameters, function(pi, p) { - if(parameter == ""){ - parameter = p.name ; - }else{ - parameter = parameter + "," + p.name; - } - }); - } - var query = ""; - if (m.queryParameters && m.queryParameters.length > 0) { - $.each(m.queryParameters, function(pi, p) { - if (query == "") { - query = "&" + p.name + '=' + '替换参数'+pi; - } else { - query = query + "&"+ p.name + '=' + '替换参数'+pi; - } - }); - } - var strSample=""; - var body = ""; - if (m.contentType.indexOf('application/json') > -1) { - if (m.ins && m.ins.length > 0) { - body = "var data = {};" + "\n"; - $.each(m.ins, function(ii, i) { - switch (i.type) { - default: - if (i.isBaseType) { - if (i.isCollection) { - body += ' data["'+i.name+'"] = ["参数1"];' + "\n"; - } else { - body += ' data["'+i.name+'"] = "参数";' + "\n"; - } - } else { - if(i.isCollection){ - if(i.fieldValue){ - if(i.fieldType =='enum'){ - body += ' data["'+i.name+'"] = ["'+ i.fieldValue +'"];'+"\n"; - body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); - }else{ - body += ' data["'+i.name+'"] = ['+ i.fieldValue +'];'+"\n"; - body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); - } - - }else{ - body += ' data["'+i.name+'"] = [{"参数1":"value1","参数2":"value2"}];'+"\n"; - } - }else{ - if(i.fieldType =='enum'){ - body += ' data["'+i.name+'"] = "'+ i.fieldValue +'";'+"\n"; - body +=(i.fieldSample ? " "+'//注解:'+i.fieldSample +'\n':""); - - }else{ - body += ' data["'+i.name+'"] = {"参数1":"value1","参数2":"value2"};'+"\n"; - } - } - } - } - }); - } else if (m.useJsonElementParameter) { - body += ' data = {"参数1":"value1","参数2":"value2"};' +"\n"; - } else if (m.useStringParameter) { - body += ' data = "参数";'+"\n"; - } - if(m.type != "GET" ){ - if( body != ""){ - strSample += body; - } - } - strSample += "var action = this.Actions.load(\"" + root + "\");\n"; - strSample += " action."+ className + "."+m.name+ "(//平台封装好的方法\n"; - if(parameter!=""){ - strSample += " " + parameter +",//uri的参数\n"; - } - if(m.type != "GET" ){ - if( body != ""){ - strSample += " data,//body请求参数\n"; - } - } - strSample += " function( json ){ //服务调用成功的回调函数, json为服务传回的数据\n"; - strSample += " data = json.data; //为变量data赋值\n"; - strSample += " }.bind(this),\n"; - strSample += " function( json ){ //服务调用失败的回调函数, json为服务传回的数据\n"; - strSample += " data = json.data; //为变量data赋值\n"; - strSample += " }.bind(this),\n"; - strSample += " false //同步执行 \n"; - strSample += " );\n"; - - }else{ - var formData = "var formData = new FormData();" + "\n"; - if (m.formParameters && m.formParameters.length > 0) { - $.each(m.formParameters, function(pi, p) { - if (p.type == "File") { - formData += ' formData.append("'+p.name+'", $("input[type=file]")[0].files[0]);' + "\n"; - } else { - formData += ' formData.append("'+p.name+'", "参数值'+pi+'");' + "\n"; - } - }); - } - strSample += formData; - strSample += "var action = this.Actions.load(\"" + root + "\");\n"; - //strSample += "action."+m.name+ "(//平台封装好的方法\n"; - strSample += " action."+ className + "."+m.name+ "(//平台封装好的方法\n"; - strSample += " "+parameter +",//uri的参数\n"; - strSample += " formData"+",//from参数\n"; - strSample += "function( json ){ //服务调用成功的回调函数, json为服务传回的数据\n"; - strSample += " data = json.data; //为变量data赋值\n"; - strSample += "}.bind(this),\n"; - strSample += "function( json ){ //服务调用失败的回调函数, json为服务传回的数据\n"; - strSample += " data = json.data; //为变量data赋值\n"; - strSample += "}.bind(this),\n"; - strSample += "false //同步执行 \n"; - strSample += ");\n" - } - return strSample ; - } - -Describe.prototype = { - "load" : function() { - var str = '
    '; - $.getJSON('../describe/describe.json?rd=' + Math.random(), function(json) { - Describe.json = json; - $.each(json.jaxrs, function(ji, j) { - str += '
  • ' + j.name + ' (' + j.description+ ')'; - $.each(j.methods, function(mi, m) { - str += ''; - }); - str += '
  • ' - }); - str += '
'; - $("#menu").html(str); - $.each(json.jaxrs, function(ji, j) { - $.each(j.methods, function(mi, m) { - $('#' + j.name + '_' + m.name).click( - function() { - $('#result').html(''); - var sample = ""; - var txt = '
Method'; - txt += ''; - txt += ''; - txt += ''; - txt += ''; - txt += ''; - txt += '
name:' + m.name + '
path:' + m.path + '
type:' + m.type + '
description:' + m.description + '
'; - txt += ''; - txt += '
 
'; - txt += '
'; - if (m.pathParameters && m.pathParameters.length > 0) { - txt += '
Path Parameter'; - txt += ''; - $.each(m.pathParameters, function(pi, p) { - if (m.name == 'listNext' || m.name == 'listPrev') { - switch (p.name) { - case 'flag': - case 'id': - txt += ''; - break; - case 'count': - txt += ''; - break; - default: - txt += ''; - break - } - } else { - txt += ''; - } - }); - txt += '
' + p.name - + ':' + p.description + '
' + p.name + ':' - + p.description + '
' + p.name + ':' - + p.description + '
' + p.name + ':' - + p.description + '
'; - txt += '
'; - } - - if (m.formParameters && m.formParameters.length > 0) { - txt += '
Form Parameter'; - txt += ''; - $.each(m.formParameters, function(pi, p) { - if (p.type == "File") { - txt += ''; - } else { - txt += ''; - } - }); - txt += '
' - + p.name + ':' + p.description + '
' + p.name + ':' - + p.description + '
'; - txt += '
'; - } - - if (m.queryParameters && m.queryParameters.length > 0) { - txt += '
Query Parameter'; - txt += ''; - $.each(m.queryParameters, function(pi, p) { - txt += ''; - }); - txt += '
' + p.name + ':' + p.description - + '
'; - txt += '
'; - } - - if (m.ins && m.ins.length > 0) { - txt += '
In'; - txt += ''; - $.each(m.ins, function(ii, i) { - if (i.isCollection) { - - txt += '
",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), -null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("