提交 faf27c29 编写于 作者: Z zhourui

压力测试调整

上级 25a9f603
......@@ -144,5 +144,5 @@ if exist "%~dp0local\update" (
)
)
@echo on
"%~dp0jvm\windows\bin\java" -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Xms2g -Xmx8g -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -jar "%~dp0console.jar"
"%~dp0jvm\windows\bin\java" -server Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Xms2g -Xmx8g -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -jar "%~dp0console.jar"
pause
\ No newline at end of file
......@@ -32,7 +32,6 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* 抽象Excel2003读取器,通过实现HSSFListener监听器,采用事件驱动模式解析excel2003
* 中的内容,遇到特定事件才会触发,大大减少了内存的使用。
*
*/
public class Excel2003Reader implements HSSFListener{
private int minColumns = -1;
......
......@@ -6,6 +6,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.x.base.core.project.tools.ListTools;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
......@@ -24,7 +25,6 @@ import com.x.base.core.project.logger.LoggerFactory;
/**
* 导入的文件没有用到文件存储器,是直接放在数据库中的BLOB列
*
*/
public class ActionExportAbnormalDetail extends BaseAction {
......@@ -88,7 +88,7 @@ public class ActionExportAbnormalDetail extends BaseAction {
Workbook wb = new HSSFWorkbook();
Row row = null;
if (detailList != null && detailList.size() > 0) {
if (ListTools.isNotEmpty(detailList) ) {
// 创建新的表格
Sheet sheet = wb.createSheet(sheetName);
......
......@@ -5,6 +5,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.x.base.core.project.organization.Person;
import org.apache.commons.lang3.StringUtils;
import com.google.gson.JsonElement;
......@@ -65,6 +66,43 @@ public class ActionSave extends BaseAction {
logger.error(e, currentPerson, request, null);
}
}
if (check) {
//如果adminName为空,根据标识核实admin姓名
if( StringUtils.isNotEmpty( attendanceAdmin.getAdmin()) ){
Person person = null;
try {
person = userManagerService.getPersonObjByName(attendanceAdmin.getAdminName());
} catch (Exception e) {
check = false;
Exception exception = new ExceptionAttendanceAdminProcess(e, "系统根据人员标识获取人员信息对象时发生异常.Flag="+attendanceAdmin.getAdmin());
result.error(exception);
logger.error(e, currentPerson, request, null);
}
if( person != null ){
attendanceAdmin.setAdminName( person.getName() );
}
}
}
if (check) {
//如果admin为空,根据姓名获取admin标识
if( StringUtils.isNotEmpty( attendanceAdmin.getAdminName()) ){
if( StringUtils.isEmpty( attendanceAdmin.getAdmin()) ){
Person person = null;
try {
person = userManagerService.getPersonObjByName(attendanceAdmin.getAdminName());
} catch (Exception e) {
check = false;
Exception exception = new ExceptionAttendanceAdminProcess(e, "系统根据人员姓名获取人员标识时发生异常.Name=" + attendanceAdmin.getAdminName() );
result.error(exception);
logger.error(e, currentPerson, request, null);
}
if( person != null ){
attendanceAdmin.setAdmin( person.getDistinguishedName() );
}
}
}
}
if (check) {
try {
attendanceAdmin = attendanceAdminServiceAdv.save(attendanceAdmin);
......
......@@ -20,6 +20,7 @@ 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;
public class ActionSave extends BaseAction {
......@@ -58,7 +59,7 @@ public class ActionSave extends BaseAction {
ids = business.getAttendanceStatisticalCycleFactory().listByParameter(wrapIn.getTopUnitName(),
wrapIn.getUnitName(), wrapIn.getCycleYear(), wrapIn.getCycleMonth());
emc.beginTransaction(AttendanceStatisticalCycle.class);
if (ids != null && ids.size() > 0) {
if ( ListTools.isNotEmpty(ids) ) {
// 说明有重复的
_attendanceStatisticalCycle = emc.find(wrapIn.getId(), AttendanceStatisticalCycle.class);
if (_attendanceStatisticalCycle != null) {
......@@ -72,7 +73,7 @@ public class ActionSave extends BaseAction {
}
} else {
// 新增就行了
if (wrapIn.getId() != null && wrapIn.getId().length() > 10) {
if ( wrapIn.getId() != null && wrapIn.getId().length() > 10 ) {
attendanceStatisticalCycle.setId(wrapIn.getId());
}
Wi.copier.copy(wrapIn, attendanceStatisticalCycle);
......
......@@ -20,6 +20,7 @@ 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;
public class ActionImportDateInFile extends BaseAction {
......@@ -50,7 +51,7 @@ public class ActionImportDateInFile extends BaseAction {
logger.info("查询结果" + ids.size() + "条!");
logger.info("开始事务,删除batchName = " + file_id + "的" + ids.size() + "条数据记录......");
emc.beginTransaction(AttendanceDetail.class);
if (ids != null && ids.size() > 0) {
if (ListTools.isNotEmpty( ids )) {
for (String id : ids) {
_attendanceDetail = emc.find(id, AttendanceDetail.class);
emc.remove(_attendanceDetail);
......@@ -67,7 +68,7 @@ public class ActionImportDateInFile extends BaseAction {
for ( EntityImportDataDetail cacheImportRowDetail : cacheImportFileStatus.getDetailList() ) {
logger.info("查询数据库里是否有重复记录:姓名:" + cacheImportRowDetail.getEmployeeName() + ", 日期:" + cacheImportRowDetail.getRecordDateStringFormated());
ids = business.getAttendanceDetailFactory().getByUserAndRecordDate( cacheImportRowDetail.getEmployeeName(), cacheImportRowDetail.getRecordDateStringFormated() );
if (ids != null && ids.size() > 0) {
if (ListTools.isNotEmpty( ids )) {
for (String id : ids) {
logger.info("查询数据库里是否有重复记录:id=" + id);
attendanceDetail = emc.find(id, AttendanceDetail.class);
......
......@@ -17,6 +17,7 @@ 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;
public class ActionDelete extends BaseAction {
......@@ -40,7 +41,7 @@ public class ActionDelete extends BaseAction {
result.setData( new Wo(id) );
//根据员工休假数据来记录与这条数据相关的统计需求记录
List<String> ids = attendanceDetailAnalyseServiceAdv.getAnalyseAttendanceDetailIds( attendanceSelfHoliday.getEmployeeName(), attendanceSelfHoliday.getStartTime(), attendanceSelfHoliday.getEndTime() );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
try {//查询所有的周期配置,组织成Map
topUnitAttendanceStatisticalCycleMap = attendanceStatisticCycleServiceAdv.getCycleMapFormAllCycles( effectivePerson.getDebugger() );
} catch (Exception e) {
......
......@@ -17,6 +17,7 @@ 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;
public class ActionDeleteByWfDocId extends BaseAction {
......@@ -37,7 +38,7 @@ public class ActionDeleteByWfDocId extends BaseAction {
business = new Business(emc);
// 先判断需要操作的应用信息是否存在,根据ID进行一次查询,如果不存在不允许继续操作
ids = business.getAttendanceSelfHolidayFactory().getByWorkFlowDocId(wfDocId);
if (ids != null && ids.size() > 0) {
if ( ListTools.isNotEmpty( ids ) ) {
attendanceSelfHolidays = business.getAttendanceSelfHolidayFactory().list(ids);
if (attendanceSelfHolidays != null && attendanceSelfHolidays.size() > 0) {
for (AttendanceSelfHoliday attendanceSelfHoliday : attendanceSelfHolidays) {
......@@ -51,7 +52,7 @@ public class ActionDeleteByWfDocId extends BaseAction {
ids = attendanceDetailAnalyseServiceAdv.getAnalyseAttendanceDetailIds(
attendanceSelfHoliday.getEmployeeName(), attendanceSelfHoliday.getStartTime(),
attendanceSelfHoliday.getEndTime());
if (ids != null && ids.size() > 0) {
if ( ListTools.isNotEmpty( ids ) ) {
try {// 查询所有的周期配置,组织成Map
topUnitAttendanceStatisticalCycleMap = attendanceStatisticCycleServiceAdv.getCycleMapFormAllCycles( effectivePerson.getDebugger() );
} catch (Exception e) {
......
......@@ -105,7 +105,7 @@ public class ActionSave extends BaseAction {
logger.info("++++++++休假数据有变动,对该员工的该请假时间内的所有打卡记录进行分析......" );
//休假数据有更新,对该员工的该请假时间内的所有打卡记录进行分析
List<String> ids = attendanceDetailAnalyseServiceAdv.getAnalyseAttendanceDetailIds( attendanceSelfHoliday.getEmployeeName(), attendanceSelfHoliday.getStartTime(), attendanceSelfHoliday.getEndTime() );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
try {//查询所有的周期配置,组织成Map
topUnitAttendanceStatisticalCycleMap = attendanceStatisticCycleServiceAdv.getCycleMapFormAllCycles( effectivePerson.getDebugger() );
} catch (Exception e) {
......
......@@ -14,6 +14,7 @@ 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;
public class ActionListAll extends BaseAction {
......@@ -36,7 +37,7 @@ public class ActionListAll extends BaseAction {
}
}
if (check) {
if (attendanceWorkPlaceList != null && !attendanceWorkPlaceList.isEmpty()) {
if ( ListTools.isNotEmpty(attendanceWorkPlaceList) ) {
try {
wraps = Wo.copier.copy(attendanceWorkPlaceList);
} catch (Exception e) {
......
......@@ -32,7 +32,7 @@ public class SenderForAnalyseData {
for ( String personName : personNames ) {
try {
ids = attendanceDetailServiceAdv.getAllAnalysenessDetails( startDate, endDate, personName );
if( ListTools.isNotEmpty(ids) ) {
if( ids != null && !ids.isEmpty() ) {
statusSystemImportOpt.setProcessing( true );
statusSystemImportOpt.setProcessing_analysis( true );
statusSystemImportOpt.increaseProcess_analysis_total( ids.size() );
......
......@@ -34,7 +34,7 @@ public class SenderForSaveData {
// 先删除这一个文件ID下的所有记录
List<String> ids = business.getAttendanceDetailFactory().listByBatchName( file_id );
emc.beginTransaction(AttendanceDetail.class);
if ( ListTools.isNotEmpty(ids) ) {
if (ids != null && ids.size() > 0) {
for (String id : ids) {
detail = emc.find(id, AttendanceDetail.class);
emc.remove( detail );
......
......@@ -56,10 +56,10 @@ public class OperatorDataAnalyse implements Runnable{
statusSystemImportOpt.setProcessing( true );
statusSystemImportOpt.setProcessing_analysis( true );
if ( ListTools.isNotEmpty( detail_ids )) {
if ( detail_ids != null && !detail_ids.isEmpty() ) {
try{
ids_temp = attendanceSelfHolidayServiceAdv.getByPersonName( entityAnalyseData.getPersonName() );
if( ListTools.isNotEmpty( ids_temp ) ) {
if( ids_temp != null && !ids_temp.isEmpty() ) {
selfHolidays = attendanceSelfHolidayServiceAdv.list( ids_temp );
}
}catch( Exception e ){
......
......@@ -38,7 +38,7 @@ public class OperatorDataValidator implements Runnable {
if( colmlist == null ) {
return;
}
if( ListTools.isNotEmpty( colmlist ) && !colmlist.get(0).isEmpty() && !colmlist.get(2).isEmpty()){
if( colmlist != null && !colmlist.get(0).isEmpty() && !colmlist.get(2).isEmpty()){
try {
check( cacheImportRowDetail.getFile_id(), curRow, colmlist );
}catch( Exception e ) {
......@@ -57,7 +57,7 @@ public class OperatorDataValidator implements Runnable {
cacheImportFileStatus.setProcessing( true );
if( ListTools.isNotEmpty( colmlist ) ){
if( colmlist!= null && colmlist.size() > 0 ){
Boolean checkSuccess = true;
Boolean personExists = true;
......
......@@ -21,6 +21,7 @@ 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.tools.ListTools;
public class AttendanceStatisticService {
......@@ -204,12 +205,11 @@ public class AttendanceStatisticService {
throw e;
}
}
/**
* 根据数据统计需求,进行组织每月考勤分析结果统计
* @param emc
* @param attendanceStatisticRequireLog
* @param attendanceStatisticalCycle
* @param workDayConfigList
* @param topUnitAttendanceStatisticalCycleMap
*/
......
......@@ -47,7 +47,7 @@ public class ExternalDataSources extends CopyOnWriteArrayList<ExternalDataSource
}
}
if (StringUtils.isEmpty(name)) {
throw new Exception("externalDataSource not in externalDataSources.");
throw new Exception("externalDataSource not in externalDataSources." + externalDataSource);
}
return name;
}
......
......@@ -11,6 +11,7 @@ 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.calendar.core.entity.Calendar_Setting;
public class ActionListAll extends BaseAction {
......
......@@ -100,6 +100,9 @@ public class ResourceFactory {
private static void external_druid_c3p0() throws Exception {
for (ExternalDataSource ds : Config.externalDataSources()) {
if (!ds.getEnable()) {
continue;
}
DruidDataSourceC3P0Adapter dataSource = new DruidDataSourceC3P0Adapter();
dataSource.setJdbcUrl(ds.getUrl());
dataSource.setDriverClass(ds.getDriverClassName());
......
......@@ -2,6 +2,9 @@ package com.x.server.console.action;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.processplatform.core.entity.element.FormVersion;
import com.x.processplatform.core.entity.element.ProcessVersion;
import com.x.processplatform.core.entity.element.ScriptVersion;
import com.x.program.center.core.entity.PromptErrorLog;
import com.x.program.center.core.entity.ScheduleLog;
import com.x.program.center.core.entity.UnexpectedErrorLog;
......@@ -18,6 +21,10 @@ public class EraseContentLog extends EraseContentProcessPlatform {
addClass(PromptErrorLog.class);
addClass(UnexpectedErrorLog.class);
addClass(WarnLog.class);
addClass(ProcessVersion.class);
addClass(FormVersion.class);
addClass(ScriptVersion.class);
this.run();
this.run();
return true;
}
......
......@@ -36,9 +36,13 @@ public abstract class JettySeverTools {
config.setResponseHeaderSize(8192 * 2);
config.setSendServerVersion(true);
config.setSendDateHeader(false);
ServerConnector sslConnector = new ServerConnector(server,
new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()),
new HttpConnectionFactory(config));
/* 添加到32,压力测试 */
sslConnector.setAcceptQueueSize(32);
sslConnector.setIdleTimeout(30000);
sslConnector.setPort(port);
server.addConnector(sslConnector);
}
......@@ -51,6 +55,8 @@ public abstract class JettySeverTools {
config.setSendServerVersion(true);
config.setSendDateHeader(false);
ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(config));
/* 添加到32,压力测试 */
http.setAcceptQueueSize(32);
http.setIdleTimeout(30000);
http.setPort(port);
server.addConnector(http);
......
......@@ -50,6 +50,7 @@ class ActionCreate extends BaseAction {
}
}
Instant instant = this.instant(effectivePerson, business, wi, new ArrayList<>(consumersV2.keySet()));
logger.info("生成消息。,,,consumersV2 "+ consumersV2.size());
if (!consumersV2.isEmpty()) {
for (String consumer : consumersV2.keySet()) {
Wi cpwi = wi;
......@@ -87,6 +88,7 @@ class ActionCreate extends BaseAction {
logger.warn("执行消息发送脚本[{}]方法异常:{}", func, e.getMessage());
}
Message message = null;
logger.info("这里是生成消息对象,consumer:"+consumer);
switch (Objects.toString(consumer, "")) {
case MessageConnector.CONSUME_WS:
message = this.wsMessage(effectivePerson, business, cpwi, instant);
......
......@@ -13,6 +13,7 @@ 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.okr.assemble.control.OkrUserCache;
import com.x.okr.assemble.control.jaxrs.WorkCommonSearchFilter;
import com.x.okr.assemble.control.jaxrs.okrcenterworkinfo.exception.ExceptionCenterWorkWrapOut;
......
......@@ -13,6 +13,7 @@ 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.okr.assemble.control.OkrUserCache;
import com.x.okr.assemble.control.jaxrs.WorkCommonSearchFilter;
import com.x.okr.assemble.control.jaxrs.okrcenterworkinfo.exception.ExceptionCenterWorkWrapOut;
......
......@@ -13,6 +13,7 @@ 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.okr.assemble.control.OkrUserCache;
import com.x.okr.assemble.control.jaxrs.WorkCommonQueryFilter;
import com.x.okr.assemble.control.jaxrs.WorkCommonSearchFilter;
......
......@@ -13,6 +13,7 @@ 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.okr.assemble.control.OkrUserCache;
import com.x.okr.assemble.control.jaxrs.WorkCommonQueryFilter;
import com.x.okr.assemble.control.jaxrs.WorkCommonSearchFilter;
......
......@@ -11,6 +11,7 @@ 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.okr.assemble.control.jaxrs.okrconfigsercretary.exception.ExceptionSercretaryConfigListByIds;
import com.x.okr.entity.OkrConfigSecretary;
......
......@@ -14,6 +14,7 @@ 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.okr.assemble.common.date.DateOperation;
import com.x.okr.assemble.control.OkrUserCache;
import com.x.okr.assemble.control.jaxrs.okrconfigsystem.exception.ExceptionGetOkrUserCache;
......
......@@ -8,6 +8,7 @@ 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.okr.assemble.control.jaxrs.okrworkbaseinfo.exception.ExceptionWorkBaseInfoProcess;
import com.x.okr.assemble.control.jaxrs.okrworkbaseinfo.exception.ExceptionWorkIdEmpty;
import com.x.okr.entity.OkrWorkBaseInfo;
......
......@@ -4,6 +4,7 @@ import java.util.List;
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.okr.assemble.control.dataadapter.webservice.sms.SmsMessageOperator;
import com.x.okr.assemble.control.jaxrs.queue.WrapInWorkDynamic;
import com.x.okr.entity.OkrWorkBaseInfo;
......
......@@ -6,6 +6,7 @@ import java.util.List;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.entity.annotation.CheckRemoveType;
import com.x.base.core.project.config.StorageMapping;
import com.x.base.core.project.tools.ListTools;
import com.x.okr.assemble.control.Business;
import com.x.okr.assemble.control.ThisApplication;
import com.x.okr.entity.OkrAttachmentFileInfo;
......@@ -89,7 +90,7 @@ public class OkrCenterWorkExcuteDelete {
//删除所有与中心工作有关的待办信息,已办信息
ids = business.okrTaskFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrTaskList = business.okrTaskFactory().list(ids);
for( OkrTask okrTask : okrTaskList ){
if( okrTask != null ){
......@@ -98,7 +99,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrTaskHandledFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrTaskHandledList = business.okrTaskHandledFactory().list(ids);
for( OkrTaskHandled okrTaskHandled : okrTaskHandledList ){
if( okrTaskHandled != null ){
......@@ -108,7 +109,7 @@ public class OkrCenterWorkExcuteDelete {
}
//删除所有与中心工作有关的工作汇报信息
ids = business.okrWorkReportProcessLogFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportProcessLogList = business.okrWorkReportProcessLogFactory().list(ids);
for( OkrWorkReportProcessLog okrWorkReportProcessLog : okrWorkReportProcessLogList ){
if( okrWorkReportProcessLog != null ){
......@@ -117,7 +118,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrWorkReportPersonLinkFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportPersonLinkList = business.okrWorkReportPersonLinkFactory().list(ids);
for( OkrWorkReportPersonLink okrWorkReportPersonLink : okrWorkReportPersonLinkList ){
if( okrWorkReportPersonLink != null ){
......@@ -126,7 +127,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrWorkReportDetailInfoFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportDetailInfoList = business.okrWorkReportDetailInfoFactory().list(ids);
for( OkrWorkReportDetailInfo okrWorkReportDetailInfo : okrWorkReportDetailInfoList ){
if( okrWorkReportDetailInfo != null ){
......@@ -135,7 +136,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrWorkReportBaseInfoFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportBaseInfoList = business.okrWorkReportBaseInfoFactory().list(ids);
for( OkrWorkReportBaseInfo okrWorkReportBaseInfo : okrWorkReportBaseInfoList ){
if( okrWorkReportBaseInfo != null ){
......@@ -150,7 +151,7 @@ public class OkrCenterWorkExcuteDelete {
}
//删除所有与中心工作有关的工作信息
ids = business.okrWorkPersonFactory().listByCenterWorkId( centerId, null );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkPersonList = business.okrWorkPersonFactory().list(ids);
for( OkrWorkPerson okrWorkPerson : okrWorkPersonList ){
if( okrWorkPerson != null ){
......@@ -159,7 +160,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrWorkDetailInfoFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkDetailInfoList = business.okrWorkDetailInfoFactory().list(ids);
for( OkrWorkDetailInfo okrWorkDetailInfo : okrWorkDetailInfoList ){
if( okrWorkDetailInfo != null ){
......@@ -168,7 +169,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
ids = business.okrWorkBaseInfoFactory().listByCenterWorkId( centerId, null );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkBaseInfoList = business.okrWorkBaseInfoFactory().list(ids);
for( OkrWorkBaseInfo okrWorkBaseInfo : okrWorkBaseInfoList ){
if( okrWorkBaseInfo != null ){
......@@ -181,7 +182,7 @@ public class OkrCenterWorkExcuteDelete {
}
}
}
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
statisticIds = business.okrStatisticReportContentFactory().list( id, null, null, null, null );
......@@ -205,7 +206,7 @@ public class OkrCenterWorkExcuteDelete {
//删除所有与中心工作有关的工作授权记录
ids = business.okrWorkAuthorizeRecordFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkAuthorizeRecordList = business.okrWorkAuthorizeRecordFactory().list(ids);
for( OkrWorkAuthorizeRecord okrWorkAuthorizeRecord : okrWorkAuthorizeRecordList ){
if( okrWorkAuthorizeRecord != null ){
......@@ -215,7 +216,7 @@ public class OkrCenterWorkExcuteDelete {
}
//删除所有与中心工作有关的工作动态信息
ids = business.okrWorkDynamicsFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkDynamicsList = business.okrWorkDynamicsFactory().list(ids);
for( OkrWorkDynamics okrWorkDynamics : okrWorkDynamicsList ){
if( okrWorkDynamics != null ){
......@@ -225,7 +226,7 @@ public class OkrCenterWorkExcuteDelete {
}
//删除所有与中心工作有关的工作交流信息
ids = business.okrWorkChatFactory().listByCenterWorkId( centerId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkChatList = business.okrWorkChatFactory().list(ids);
for( OkrWorkChat okrWorkChat : okrWorkChatList ){
if( okrWorkChat != null ){
......
......@@ -7,6 +7,7 @@ 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.okr.assemble.control.Business;
import com.x.okr.entity.OkrCenterWorkInfo;
import com.x.okr.entity.OkrWorkBaseInfo;
......@@ -43,7 +44,7 @@ public class OkrCenterWorkExcuteSave {
//如果当前的标题和原来的标题不一致,那么需要修改所有具体工作项目的中心工作标题
if( !okrCenterWorkInfo_old.getTitle().equals( okrCenterWorkInfo.getTitle()) ){
ids = business.okrWorkBaseInfoFactory().listByCenterWorkId( okrCenterWorkInfo.getId(), null );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
okrWorkBaseInfo = emc.find( id, OkrWorkBaseInfo.class );
if( okrWorkBaseInfo != null ){
......
......@@ -114,7 +114,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
ids = business.okrWorkReportPersonLinkFactory().listByWorkId(workId);
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportPersonLinkList = business.okrWorkReportPersonLinkFactory().list(ids);
for( OkrWorkReportPersonLink okrWorkReportPersonLink : okrWorkReportPersonLinkList ){
if( okrWorkReportPersonLink != null ){
......@@ -128,7 +128,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkReportBaseInfoFactory().listByWorkId(workId);
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportBaseInfoList = business.okrWorkReportBaseInfoFactory().list(ids);
for( OkrWorkReportBaseInfo okrWorkReportBaseInfo : okrWorkReportBaseInfoList ){
if( okrWorkReportBaseInfo != null ){
......@@ -148,7 +148,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
ids = business.okrWorkReportProcessLogFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportProcessLogList = business.okrWorkReportProcessLogFactory().list(ids);
for( OkrWorkReportProcessLog okrWorkReportProcessLog : okrWorkReportProcessLogList ){
if( okrWorkReportProcessLog != null ){
......@@ -158,7 +158,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkReportDetailInfoFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkReportDetailInfoList = business.okrWorkReportDetailInfoFactory().list(ids);
for( OkrWorkReportDetailInfo okrWorkReportDetailInfo : okrWorkReportDetailInfoList ){
if( okrWorkReportDetailInfo != null ){
......@@ -168,7 +168,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkPersonFactory().listByWorkId( workId, null );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkPersonList = business.okrWorkPersonFactory().list(ids);
for( OkrWorkPerson okrWorkPerson : okrWorkPersonList ){
if( okrWorkPerson != null ){
......@@ -178,7 +178,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkDetailInfoFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkDetailInfoList = business.okrWorkDetailInfoFactory().list(ids);
for( OkrWorkDetailInfo okrWorkDetailInfo : okrWorkDetailInfoList ){
if( okrWorkDetailInfo != null ){
......@@ -188,7 +188,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkAuthorizeRecordFactory().listByWorkId(workId);
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkAuthorizeRecordList = business.okrWorkAuthorizeRecordFactory().list(ids);
for( OkrWorkAuthorizeRecord okrWorkAuthorizeRecord : okrWorkAuthorizeRecordList ){
if( okrWorkAuthorizeRecord != null ){
......@@ -198,7 +198,7 @@ public class OkrWorkBaseInfoExcuteArchive {
}
}
ids = business.okrWorkDynamicsFactory().listByWorkId(workId);
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrWorkDynamicsList = business.okrWorkDynamicsFactory().list(ids);
for( OkrWorkDynamics okrWorkDynamics : okrWorkDynamicsList ){
if( okrWorkDynamics != null ){
......@@ -210,7 +210,7 @@ public class OkrWorkBaseInfoExcuteArchive {
ids = business.okrTaskFactory().listByWorkId(workId);
List<TaskIdentityInfo> taskIdentityInfoList = new ArrayList<>();
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
okrTaskList = business.okrTaskFactory().list(ids);
for( OkrTask okrTask : okrTaskList ){
if( okrTask != null ){
......
......@@ -11,6 +11,7 @@ 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.base.core.project.tools.ListTools;
import com.x.okr.assemble.common.date.DateOperation;
import com.x.okr.assemble.control.Business;
import com.x.okr.entity.OkrAttachmentFileInfo;
......@@ -325,7 +326,7 @@ public class OkrWorkReportOperationService{
emc.beginTransaction( OkrWorkReportProcessLog.class );
ids = business.okrWorkReportBaseInfoFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
okrWorkReportBaseInfo = business.okrWorkReportBaseInfoFactory().get(id);
okrWorkReportBaseInfo.setStatus( "已删除" );
......@@ -334,7 +335,7 @@ public class OkrWorkReportOperationService{
}
ids = business.okrWorkReportDetailInfoFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
okrWorkReportDetailInfo = business.okrWorkReportDetailInfoFactory().get(id);
okrWorkReportDetailInfo.setStatus( "已删除" );
......@@ -343,7 +344,7 @@ public class OkrWorkReportOperationService{
}
ids = business.okrWorkReportPersonLinkFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
okrWorkReportPersonLink = business.okrWorkReportPersonLinkFactory().get(id);
okrWorkReportPersonLink.setStatus( "已删除" );
......@@ -352,7 +353,7 @@ public class OkrWorkReportOperationService{
}
ids = business.okrWorkReportProcessLogFactory().listByWorkId( workId );
if( ids != null && ids.size() > 0 ){
if( ListTools.isNotEmpty( ids ) ){
for( String id : ids ){
okrWorkReportProcessLog = business.okrWorkReportProcessLogFactory().get(id);
okrWorkReportProcessLog.setStatus( "已删除" );
......
......@@ -66,7 +66,7 @@ class ActionCreate extends BaseAction {
if (null == process) {
throw new ExceptionProcessNotExist(processFlag);
}
if(StringUtils.isNotEmpty(process.getEdition()) && BooleanUtils.isFalse(process.getEditionEnable())){
if (StringUtils.isNotEmpty(process.getEdition()) && BooleanUtils.isFalse(process.getEditionEnable())) {
process = business.process().pickEnabled(process.getApplication(), process.getEdition());
}
Application application = business.application().pick(process.getApplication());
......@@ -109,9 +109,9 @@ class ActionCreate extends BaseAction {
}
emc.commit();
}
/* 驱动工作 */
/* 驱动工作,使用非队列方式 */
ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
"work/" + URLEncoder.encode(workId, DefaultCharset.name) + "/processing", null, processFlag);
Applications.joinQueryUri("work", workId, "prcocssing", "nonblocking"), null, processFlag);
} else {
/* 如果是草稿,准备后面的直接打开 */
workId = lastestWorkId;
......
......@@ -101,9 +101,9 @@ class ActionCreateForce extends BaseAction {
}
emc.commit();
}
/* 驱动工作 */
/* 驱动工作,使用非队列方式 */
ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
"work/" + URLEncoder.encode(workId, DefaultCharset.name) + "/processing", null, processFlag);
Applications.joinQueryUri("work", workId, "prcocssing", "nonblocking"), null, processFlag);
} else {
/* 如果是草稿,准备后面的直接打开 */
workId = lastestWorkId;
......
......@@ -6,27 +6,23 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.x.base.core.project.logger.Audit;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import com.google.gson.JsonElement;
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.project.Applications;
import com.x.base.core.project.x_processplatform_service_processing;
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.exception.ExceptionAccessDenied;
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.http.TokenType;
import com.x.base.core.project.jaxrs.WoId;
import com.x.base.core.project.logger.Audit;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.organization.Unit;
import com.x.base.core.project.tools.DefaultCharset;
import com.x.base.core.project.tools.ListTools;
......@@ -43,6 +39,10 @@ import com.x.processplatform.core.entity.content.WorkLog;
import com.x.processplatform.core.entity.element.Application;
import com.x.processplatform.core.entity.element.Process;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
/*
* 根据应用名称和流程名称进行创建,和直接用process创建基本相同
* */
......@@ -72,7 +72,7 @@ class ActionCreateWithApplicationProcess extends BaseAction {
if (null == process) {
throw new ExceptionProcessNotExist(processFlag);
}
if(StringUtils.isNotEmpty(process.getEdition()) && BooleanUtils.isFalse(process.getEditionEnable())){
if (StringUtils.isNotEmpty(process.getEdition()) && BooleanUtils.isFalse(process.getEditionEnable())) {
process = business.process().pickEnabled(process.getApplication(), process.getEdition());
}
List<String> roles = business.organization().role().listWithPerson(effectivePerson);
......@@ -115,9 +115,9 @@ class ActionCreateWithApplicationProcess extends BaseAction {
}
emc.commit();
}
/* 驱动工作 */
/* 驱动工作,使用非队列方式 */
ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
"work/" + URLEncoder.encode(workId, DefaultCharset.name) + "/processing", null);
Applications.joinQueryUri("work", workId, "prcocssing", "nonblocking"), null,processFlag);
} else {
/* 如果是草稿,准备后面的直接打开 */
workId = lastestWorkId;
......
......@@ -296,24 +296,6 @@ public class WorkAction extends StandardJaxrsAction {
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
// @JaxrsMethodDescribe(value = "检查是否要删除处于草稿状态的工作,没有保存过任何数据将被认为是草稿,需要应用管理权限或者是工作的创建者。", action = ActionCheckDraft.class)
// @DELETE
// @Path("{id}/check/draft")
// @Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
// @Consumes(MediaType.APPLICATION_JSON)
// public void checkDraft(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
// @JaxrsParameterDescribe("工作标识") @PathParam("id") String id) {
// ActionResult<ActionCheckDraft.Wo> result = new ActionResult<>();
// EffectivePerson effectivePerson = this.effectivePerson(request);
// try {
// result = new ActionCheckDraft().execute(effectivePerson, id);
// } catch (Exception e) {
// logger.error(e, effectivePerson, request, null);
// result.error(e);
// }
// asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
// }
@JaxrsMethodDescribe(value = "完成工作关闭时候的检查,1.检查是否要删除处于草稿状态的工作,没有保存过任何数据将被认为是草稿.2.检查是否需要释放抢办.", action = ActionCloseCheck.class)
@GET
@Path("{id}/close/check")
......
......@@ -2,13 +2,17 @@ package com.x.query.service.processing.helper;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import com.x.base.core.project.config.Config;
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.base.core.project.tools.ListTools;
import org.apache.commons.collections4.list.UnmodifiableList;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.io.RandomAccessBuffer;
......@@ -17,12 +21,6 @@ import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.tika.Tika;
import com.x.base.core.project.config.Config;
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.base.core.project.tools.ListTools;
import net.sourceforge.tess4j.Tesseract;
public class ExtractTextHelper {
......@@ -150,12 +148,4 @@ public class ExtractTextHelper {
return tika;
}
// @Test
// public void test1() throws Exception {
// System.out.println(ExtractTextHelper.extract(FileUtils.readFileToByteArray(new File("d:/2.doc")), "文件内容&文件内容.doc", true,
// true, true, false));
// System.out.println(ExtractTextHelper.extract(FileUtils.readFileToByteArray(new File("d:/2.doc")), "文件内容&文件内容.doc", true,
// true, true, false));
// }
}
......@@ -8,13 +8,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
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.JpaObject_;
import com.x.base.core.project.Applications;
import com.x.base.core.project.x_query_service_processing;
import com.x.base.core.project.config.Config;
......@@ -30,6 +27,11 @@ import com.x.query.core.express.program.Arguments;
import com.x.query.service.processing.Business;
import com.x.query.service.processing.ThisApplication;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class CrawlCms extends AbstractJob {
private static Logger logger = LoggerFactory.getLogger(CrawlCms.class);
......@@ -82,7 +84,7 @@ public class CrawlCms extends AbstractJob {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Document> root = cq.from(Document.class);
cq.select(root.get(Document_.id)).orderBy(cb.desc(root.get(Document_.sequence)));
cq.select(root.get(Document_.id)).orderBy(cb.desc(root.get(JpaObject_.sequence)));
List<String> os = em.createQuery(cq).setMaxResults(Config.query().getCrawlCms().getCount()).getResultList();
return os;
}
......@@ -98,9 +100,9 @@ public class CrawlCms extends AbstractJob {
Predicate p = cb.conjunction();
String sequence = Arguments.getCrawlUpdateCms();
if (StringUtils.isNotEmpty(sequence)) {
p = cb.and(cb.lessThan(root.get(Document.sequence_FIELDNAME), sequence));
p = cb.and(cb.lessThan(root.get(JpaObject.sequence_FIELDNAME), sequence));
}
cq.select(root.get(Document_.id)).where(p).orderBy(cb.desc(root.get(Document_.sequence)));
cq.select(root.get(Document_.id)).where(p).orderBy(cb.desc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlCms().getCount() / 2;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
if (os.size() == count) {
......@@ -120,10 +122,9 @@ public class CrawlCms extends AbstractJob {
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Entry> root = cq.from(Entry.class);
Predicate p = cb.equal(root.get(Entry_.type), Entry.TYPE_CMS);
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(Entry_.sequence)));
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlCms().getCount() / 2;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
return os;
return em.createQuery(cq).setMaxResults(count).getResultList();
}
}
\ No newline at end of file
......@@ -8,13 +8,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
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.JpaObject_;
import com.x.base.core.project.Applications;
import com.x.base.core.project.x_query_service_processing;
import com.x.base.core.project.config.Config;
......@@ -30,6 +27,11 @@ import com.x.query.core.express.program.Arguments;
import com.x.query.service.processing.Business;
import com.x.query.service.processing.ThisApplication;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class CrawlWork extends AbstractJob {
private static Logger logger = LoggerFactory.getLogger(CrawlWork.class);
......@@ -96,9 +98,9 @@ public class CrawlWork extends AbstractJob {
Predicate p = cb.conjunction();
String sequence = Arguments.getCrawlUpdateWork();
if (StringUtils.isNotEmpty(sequence)) {
p = cb.and(cb.lessThan(root.get(Work.sequence_FIELDNAME), sequence));
p = cb.and(cb.lessThan(root.get(JpaObject.sequence_FIELDNAME), sequence));
}
cq.select(root.get(Work_.id)).where(p).orderBy(cb.desc(root.get(Work_.sequence)));
cq.select(root.get(Work_.id)).where(p).orderBy(cb.desc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlWork().getCount() / 2;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
if (os.size() == count) {
......@@ -118,10 +120,9 @@ public class CrawlWork extends AbstractJob {
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Entry> root = cq.from(Entry.class);
Predicate p = cb.equal(root.get(Entry_.type), Entry.TYPE_WORK);
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(Entry_.sequence)));
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlWork().getCount() / 2;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
return os;
return em.createQuery(cq).setMaxResults(count).getResultList();
}
}
\ No newline at end of file
......@@ -8,13 +8,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
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.JpaObject_;
import com.x.base.core.project.Applications;
import com.x.base.core.project.x_query_service_processing;
import com.x.base.core.project.config.Config;
......@@ -30,6 +27,11 @@ import com.x.query.core.express.program.Arguments;
import com.x.query.service.processing.Business;
import com.x.query.service.processing.ThisApplication;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class CrawlWorkCompleted extends AbstractJob {
private static Logger logger = LoggerFactory.getLogger(CrawlWorkCompleted.class);
......@@ -99,9 +101,9 @@ public class CrawlWorkCompleted extends AbstractJob {
Predicate p = cb.conjunction();
String sequence = Arguments.getCrawlUpdateWorkCompleted();
if (StringUtils.isNotEmpty(sequence)) {
p = cb.and(cb.lessThan(root.get(WorkCompleted.sequence_FIELDNAME), sequence));
p = cb.and(cb.lessThan(root.get(JpaObject.sequence_FIELDNAME), sequence));
}
cq.select(root.get(WorkCompleted_.id)).where(p).orderBy(cb.desc(root.get(WorkCompleted_.sequence)));
cq.select(root.get(WorkCompleted_.id)).where(p).orderBy(cb.desc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlWorkCompleted().getCount() /4;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
if (os.size() == count) {
......@@ -121,9 +123,8 @@ public class CrawlWorkCompleted extends AbstractJob {
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Entry> root = cq.from(Entry.class);
Predicate p = cb.equal(root.get(Entry_.type), Entry.TYPE_WORKCOMPLETED);
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(Entry_.sequence)));
cq.select(root.get(Entry_.reference)).where(p).orderBy(cb.asc(root.get(JpaObject_.sequence)));
Integer count = Config.query().getCrawlWorkCompleted().getCount() / 4;
List<String> os = em.createQuery(cq).setMaxResults(count).getResultList();
return os;
return em.createQuery(cq).setMaxResults(count).getResultList();
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册