提交 7f3a852a 编写于 作者: Z zhourui

fix addSplit workLog fields.

上级 5b489514
......@@ -27,9 +27,9 @@ public class UnitFactory {
}
}
/** 校验用户是否在指定组织中注册身份.*/
public Boolean checkHasPerson(String person,String unit,Boolean recursive) throws Exception {
return ActionHasPerson.execute(context,person, unit,recursive);
/** 校验用户是否在指定组织中注册身份. */
public Boolean checkHasPerson(String person, String unit, Boolean recursive) throws Exception {
return ActionHasPerson.execute(context, person, unit, recursive);
}
/** 根据身份和组织等级,获取组织的distinguishedName */
......@@ -236,4 +236,14 @@ public class UnitFactory {
return (os.get(0).getLevelOrderNumber() == null) ? defaultValue : os.get(0).getLevelOrderNumber();
}
}
/** 根据组织获取层级排序号 */
public String getLevelName(String value, String defaultValue) throws Exception {
List<? extends Unit> os = ActionListObject.execute(context, Arrays.asList(value));
if (os.isEmpty()) {
return defaultValue;
} else {
return (os.get(0).getLevelName() == null) ? defaultValue : os.get(0).getLevelName();
}
}
}
\ No newline at end of file
......@@ -115,6 +115,8 @@ public class RecordBuilder {
// 记录处理身份所在组织层级组织排序号
rec.getProperties()
.setUnitLevelOrderNumber(business.organization().unit().getLevelOrderNumber(rec.getUnit(), ""));
// 记录处理人身份所在目录的层级名.
rec.getProperties().setUnitLevelName(business.organization().unit().getLevelName(rec.getUnit(), ""));
}
private static void setNextManualListAndNextManualTaskIdentityList(Business business, List<String> newlyTaskIds,
......
......@@ -135,8 +135,44 @@ class ActionGetWorkOrWorkCompleted extends BaseAction {
wo.setAllowPause(true);
}
}
// 是否可以增加会签分支
setAllowAddSplit(effectivePerson, business, activity, work, wo);
// 是否可以召回
setAllowRetract(business, effectivePerson, work, wo, activity);
// 是否可以回滚
wo.setAllowRollback(PropertyTools.getOrElse(activity, Manual.allowRollback_FIELDNAME, Boolean.class, false)
&& this.canManageApplicationOrProcess(business, effectivePerson, work.getApplication(),
work.getProcess()));
// 是否可以提醒
wo.setAllowPress(PropertyTools.getOrElse(activity, Manual.allowPress_FIELDNAME, Boolean.class, false)
&& this.hasTaskCompletedWithJob(business, effectivePerson, work.getJob()));
// 是否可以看到
wo.setAllowVisit(true);
return wo;
}
private void setAllowRetract(Business business, EffectivePerson effectivePerson, Work work, Wo wo,
Activity activity) throws Exception {
if (BooleanUtils
.isTrue(PropertyTools.getOrElse(activity, Manual.allowRetract_FIELDNAME, Boolean.class, false))) {
Node node = this.workLogTree(business, work.getJob()).location(work);
if (null != node) {
Nodes ups = node.upTo(ActivityType.manual, ActivityType.agent, ActivityType.choice, ActivityType.delay,
ActivityType.embed, ActivityType.invoke);
for (Node o : ups) {
if (this.hasTaskCompletedWithActivityToken(business, effectivePerson,
o.getWorkLog().getFromActivityToken())) {
wo.setAllowRetract(true);
break;
}
}
}
}
}
private void setAllowAddSplit(EffectivePerson effectivePerson, Business business, Activity activity, Work work,
Wo wo) throws Exception {
if (BooleanUtils.isTrue(PropertyTools.getOrElse(activity, Manual.allowAddSplit_FIELDNAME, Boolean.class, false))
&& BooleanUtils.isTrue(work.getSplitting())) {
Node node = this.workLogTree(business, work.getJob()).location(work);
......@@ -162,33 +198,6 @@ class ActionGetWorkOrWorkCompleted extends BaseAction {
nodes.addAll(temps);
}
}
// 是否可以召回
if (BooleanUtils
.isTrue(PropertyTools.getOrElse(activity, Manual.allowRetract_FIELDNAME, Boolean.class, false))) {
Node node = this.workLogTree(business, work.getJob()).location(work);
if (null != node) {
Nodes ups = node.upTo(ActivityType.manual, ActivityType.agent, ActivityType.choice, ActivityType.delay,
ActivityType.embed, ActivityType.invoke);
for (Node o : ups) {
if (this.hasTaskCompletedWithActivityToken(business, effectivePerson,
o.getWorkLog().getFromActivityToken())) {
wo.setAllowRetract(true);
break;
}
}
}
}
// 是否可以回滚
wo.setAllowRollback(PropertyTools.getOrElse(activity, Manual.allowRollback_FIELDNAME, Boolean.class, false)
&& this.canManageApplicationOrProcess(business, effectivePerson, work.getApplication(),
work.getProcess()));
// 是否可以提醒
wo.setAllowPress(PropertyTools.getOrElse(activity, Manual.allowPress_FIELDNAME, Boolean.class, false)
&& this.hasTaskCompletedWithJob(business, effectivePerson, work.getJob()));
// 是否可以看到
wo.setAllowVisit(true);
return wo;
}
private boolean hasTaskCompletedWithActivityToken(Business business, EffectivePerson effectivePerson,
......
......@@ -42,8 +42,8 @@ class ActionCountWithFilter extends BaseAction {
if (ListTools.isNotEmpty(wi.getCredentialList())) {
personIds = business.organization().person().list(wi.getCredentialList());
}
if (ListTools.isNotEmpty(wi.getAppliationList())) {
applicationIds = business.organization().person().list(wi.getAppliationList());
if (ListTools.isNotEmpty(wi.getApplicationList())) {
applicationIds = business.organization().person().list(wi.getApplicationList());
}
if (ListTools.isNotEmpty(wi.getProcessList())) {
processIds = business.organization().person().list(wi.getProcessList());
......
......@@ -3,7 +3,6 @@ package com.x.processplatform.assemble.surface.jaxrs.task;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.stream.Collectors;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -16,7 +15,6 @@ import com.x.base.core.project.Applications;
import com.x.base.core.project.x_processplatform_service_processing;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.exception.ExceptionAccessDenied;
import com.x.base.core.project.exception.ExceptionEntityNotExist;
import com.x.base.core.project.http.ActionResult;
......@@ -25,7 +23,6 @@ import com.x.base.core.project.jaxrs.WoId;
import com.x.base.core.project.jaxrs.WrapStringList;
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.StringTools;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.assemble.surface.RecordBuilder;
......@@ -33,7 +30,6 @@ import com.x.processplatform.assemble.surface.TaskBuilder;
import com.x.processplatform.assemble.surface.TaskCompletedBuilder;
import com.x.processplatform.assemble.surface.ThisApplication;
import com.x.processplatform.core.entity.content.Record;
import com.x.processplatform.core.entity.content.RecordProperties.NextManual;
import com.x.processplatform.core.entity.content.Task;
import com.x.processplatform.core.entity.content.TaskCompleted;
import com.x.processplatform.core.entity.content.Work;
......@@ -66,7 +62,8 @@ class ActionProcessing extends BaseAction {
private Boolean asyncSupported = true;
private EffectivePerson effectivePerson;
private List<TaskCompleted> taskCompleteds = new ArrayList<>();
private List<Task> newTasks = new ArrayList<>();
// private List<Task> newTasks = new ArrayList<>();
private List<String> newTaskIds = new ArrayList<>();
private Exception exception = null;
private Record rec;
......@@ -79,6 +76,8 @@ class ActionProcessing extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, JsonElement jsonElement) throws Exception {
LOGGER.debug("execute:{}, id:{}.", effectivePerson::getDistinguishedName, () -> id);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
init(effectivePerson, business, id, jsonElement);
......@@ -230,7 +229,16 @@ class ActionProcessing extends BaseAction {
this.processingAppendTaskAppend();
this.taskCompletedId = this.processingProcessingTask(TaskCompleted.PROCESSINGTYPE_APPENDTASK);
this.processingProcessingWork(ProcessingAttributes.TYPE_APPENDTASK);
this.processingRecord(Record.TYPE_APPENDTASK);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
this.newTaskIds = emc.idsEqualAndEqual(Task.class, Task.job_FIELDNAME, task.getJob(), Task.series_FIELDNAME,
this.series);
}
// this.processingRecord(Record.TYPE_APPENDTASK);
this.rec = RecordBuilder.ofTaskProcessing(Record.TYPE_APPENDTASK, workLog, task, taskCompletedId, newTaskIds);
// 加签也记录流程意见和路由决策
this.rec.getProperties().setOpinion(wi.getOpinion());
this.rec.getProperties().setRouteName(wi.getRouteName());
RecordBuilder.processing(rec);
this.processingUpdateTaskCompleted();
this.processingUpdateTask();
}
......@@ -247,6 +255,10 @@ class ActionProcessing extends BaseAction {
private void processingTask() throws Exception {
this.taskCompletedId = this.processingProcessingTask(TaskCompleted.PROCESSINGTYPE_TASK);
this.processingProcessingWork(ProcessingAttributes.TYPE_TASK);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
this.newTaskIds = emc.idsEqualAndEqual(Task.class, Task.job_FIELDNAME, task.getJob(), Task.series_FIELDNAME,
this.series);
}
// 流程流转到取消环节,此时工作已被删除.flag =true 代表存在,false 已经被删除
boolean flag = true;
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
......@@ -256,29 +268,42 @@ class ActionProcessing extends BaseAction {
}
}
if (flag) {
this.processingRecord(Record.TYPE_TASK);
// this.processingRecord(Record.TYPE_TASK);
this.rec = RecordBuilder.ofTaskProcessing(Record.TYPE_TASK, workLog, task, taskCompletedId, newTaskIds);
// 加签也记录流程意见和路由决策
this.rec.getProperties().setOpinion(wi.getOpinion());
this.rec.getProperties().setRouteName(wi.getRouteName());
RecordBuilder.processing(rec);
this.processingUpdateTaskCompleted();
this.processingUpdateTask();
} else {
rec = new Record(workLog, task);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
// 后续需要记录unitDutyList所以在一个emc中进行计算.
rec.getProperties()
.setUnitDutyList(business.organization().unitDuty().listNameWithIdentity(task.getIdentity()));
// 记录处理身份的排序号
rec.getProperties().setIdentityOrderNumber(
business.organization().identity().getOrderNumber(task.getIdentity(), Integer.MAX_VALUE));
// 记录处理身份所在组织的排序号
rec.getProperties().setUnitOrderNumber(
business.organization().unit().getOrderNumber(task.getUnit(), Integer.MAX_VALUE));
// 记录处理身份所在组织层级组织排序号
rec.getProperties().setUnitLevelOrderNumber(
business.organization().unit().getLevelOrderNumber(task.getUnit(), ""));
// 记录task中身份所有的组织职务.
rec.setCompleted(true);
rec.setType(Record.TYPE_TASK);
}
this.rec = RecordBuilder.ofTaskProcessing(Record.TYPE_TASK, workLog, task, taskCompletedId, newTaskIds);
// 加签也记录流程意见和路由决策
this.rec.getProperties().setOpinion(wi.getOpinion());
this.rec.getProperties().setRouteName(wi.getRouteName());
rec.setCompleted(true);
RecordBuilder.processing(rec);
// rec = new Record(workLog, task);
// try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
// Business business = new Business(emc);
// // 记录task中身份所有的组织职务.
// rec.getProperties()
// .setUnitDutyList(business.organization().unitDuty().listNameWithIdentity(task.getIdentity()));
// // 记录处理身份的排序号
// rec.getProperties().setIdentityOrderNumber(
// business.organization().identity().getOrderNumber(task.getIdentity(), Integer.MAX_VALUE));
// // 记录处理身份所在组织的排序号
// rec.getProperties().setUnitOrderNumber(
// business.organization().unit().getOrderNumber(task.getUnit(), Integer.MAX_VALUE));
// // 记录处理身份所在组织层级组织排序号
// rec.getProperties().setUnitLevelOrderNumber(
// business.organization().unit().getLevelOrderNumber(task.getUnit(), ""));
// // 记录处理人身份所在目录的层级名.
// rec.getProperties()
// .setUnitLevelOrderNumber(business.organization().unit().getLevelName(task.getUnit(), ""));
// rec.setCompleted(true);
// rec.setType(Record.TYPE_TASK);
// }
}
}
......@@ -313,79 +338,79 @@ class ActionProcessing extends BaseAction {
}
}
private void processingRecord(String type) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
final List<String> nextTaskIdentities = new ArrayList<>();
rec = new Record(workLog, task);
// 获取在record中需要记录的task中身份所有的组织职务.
rec.getProperties()
.setUnitDutyList(business.organization().unitDuty().listNameWithIdentity(task.getIdentity()));
// 记录处理身份的排序号
rec.getProperties().setIdentityOrderNumber(
business.organization().identity().getOrderNumber(task.getIdentity(), Integer.MAX_VALUE));
// 记录处理身份所在组织的排序号
rec.getProperties().setUnitOrderNumber(
business.organization().unit().getOrderNumber(task.getUnit(), Integer.MAX_VALUE));
// 记录处理身份所在组织层级组织排序号
rec.getProperties()
.setUnitLevelOrderNumber(business.organization().unit().getLevelOrderNumber(task.getUnit(), ""));
// 校验workCompleted,如果存在,那么说明工作已经完成,标识状态为已经完成.
WorkCompleted workCompleted = emc.firstEqual(WorkCompleted.class, WorkCompleted.job_FIELDNAME,
task.getJob());
if (null != workCompleted) {
rec.setCompleted(true);
rec.setWorkCompleted(workCompleted.getId());
}
rec.getProperties().setElapsed(
Config.workTime().betweenMinutes(rec.getProperties().getStartTime(), rec.getRecordTime()));
rec.setType(type);
List<Task> list = emc.fetchEqualAndEqual(Task.class,
ListTools.toList(Task.person_FIELDNAME, Task.identity_FIELDNAME, Task.unit_FIELDNAME,
Task.job_FIELDNAME, Task.work_FIELDNAME, Task.activity_FIELDNAME,
Task.activityAlias_FIELDNAME, Task.activityName_FIELDNAME, Task.activityToken_FIELDNAME,
Task.activityType_FIELDNAME, Task.empowerFromIdentity_FIELDNAME),
Task.job_FIELDNAME, task.getJob(), Task.series_FIELDNAME, this.series);
list.stream().collect(Collectors.groupingBy(Task::getActivity, Collectors.toList())).entrySet().stream()
.forEach(o -> {
NextManual nextManual = new NextManual();
nextManual.setActivity(o.getValue().get(0).getActivity());
nextManual.setActivityAlias(o.getValue().get(0).getActivityAlias());
nextManual.setActivityName(o.getValue().get(0).getActivityName());
nextManual.setActivityToken(o.getValue().get(0).getActivityToken());
nextManual.setActivityType(o.getValue().get(0).getActivityType());
for (Task t : o.getValue()) {
nextManual.getTaskIdentityList().add(t.getIdentity());
this.newTasks.add(t);
nextTaskIdentities.add(t.getIdentity());
}
rec.getProperties().getNextManualList().add(nextManual);
});
// 去重
rec.getProperties().setNextManualTaskIdentityList(ListTools.trim(nextTaskIdentities, true, true));
TaskCompleted taskCompleted = emc.find(taskCompletedId, TaskCompleted.class);
if (null != taskCompleted) {
// 处理完成后在重新写入待办信息
rec.getProperties().setOpinion(taskCompleted.getOpinion());
rec.getProperties().setRouteName(taskCompleted.getRouteName());
rec.getProperties().setMediaOpinion(taskCompleted.getMediaOpinion());
}
}
new Thread(() -> {
try {
WoId resp = ThisApplication.context().applications()
.postQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
Applications.joinQueryUri("record", "job", this.work.getJob()), rec, this.task.getJob())
.getData(WoId.class);
if (StringUtils.isBlank(resp.getId())) {
throw new ExceptionWorkProcessing(this.work.getId());
}
} catch (Exception e) {
LOGGER.error(e);
}
}, String.format("%s:record:%s", ActionProcessing.class.getName(), this.task.getId())).start();
}
// private void processingRecord(String type) throws Exception {
// try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
// Business business = new Business(emc);
// final List<String> nextTaskIdentities = new ArrayList<>();
// rec = new Record(workLog, task);
// // 获取在record中需要记录的task中身份所有的组织职务.
// rec.getProperties()
// .setUnitDutyList(business.organization().unitDuty().listNameWithIdentity(task.getIdentity()));
// // 记录处理身份的排序号
// rec.getProperties().setIdentityOrderNumber(
// business.organization().identity().getOrderNumber(task.getIdentity(), Integer.MAX_VALUE));
// // 记录处理身份所在组织的排序号
// rec.getProperties().setUnitOrderNumber(
// business.organization().unit().getOrderNumber(task.getUnit(), Integer.MAX_VALUE));
// // 记录处理身份所在组织层级组织排序号
// rec.getProperties()
// .setUnitLevelOrderNumber(business.organization().unit().getLevelOrderNumber(task.getUnit(), ""));
// // 校验workCompleted,如果存在,那么说明工作已经完成,标识状态为已经完成.
// WorkCompleted workCompleted = emc.firstEqual(WorkCompleted.class, WorkCompleted.job_FIELDNAME,
// task.getJob());
// if (null != workCompleted) {
// rec.setCompleted(true);
// rec.setWorkCompleted(workCompleted.getId());
// }
// rec.getProperties().setElapsed(
// Config.workTime().betweenMinutes(rec.getProperties().getStartTime(), rec.getRecordTime()));
// rec.setType(type);
// List<Task> list = emc.fetchEqualAndEqual(Task.class,
// ListTools.toList(Task.person_FIELDNAME, Task.identity_FIELDNAME, Task.unit_FIELDNAME,
// Task.job_FIELDNAME, Task.work_FIELDNAME, Task.activity_FIELDNAME,
// Task.activityAlias_FIELDNAME, Task.activityName_FIELDNAME, Task.activityToken_FIELDNAME,
// Task.activityType_FIELDNAME, Task.empowerFromIdentity_FIELDNAME),
// Task.job_FIELDNAME, task.getJob(), Task.series_FIELDNAME, this.series);
// list.stream().collect(Collectors.groupingBy(Task::getActivity, Collectors.toList())).entrySet().stream()
// .forEach(o -> {
// NextManual nextManual = new NextManual();
// nextManual.setActivity(o.getValue().get(0).getActivity());
// nextManual.setActivityAlias(o.getValue().get(0).getActivityAlias());
// nextManual.setActivityName(o.getValue().get(0).getActivityName());
// nextManual.setActivityToken(o.getValue().get(0).getActivityToken());
// nextManual.setActivityType(o.getValue().get(0).getActivityType());
// for (Task t : o.getValue()) {
// nextManual.getTaskIdentityList().add(t.getIdentity());
// this.newTasks.add(t);
// nextTaskIdentities.add(t.getIdentity());
// }
// rec.getProperties().getNextManualList().add(nextManual);
// });
// // 去重
// rec.getProperties().setNextManualTaskIdentityList(ListTools.trim(nextTaskIdentities, true, true));
// TaskCompleted taskCompleted = emc.find(taskCompletedId, TaskCompleted.class);
// if (null != taskCompleted) {
// // 处理完成后在重新写入待办信息
// rec.getProperties().setOpinion(taskCompleted.getOpinion());
// rec.getProperties().setRouteName(taskCompleted.getRouteName());
// rec.getProperties().setMediaOpinion(taskCompleted.getMediaOpinion());
// }
// }
// new Thread(() -> {
// try {
// WoId resp = ThisApplication.context().applications()
// .postQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
// Applications.joinQueryUri("record", "job", this.work.getJob()), rec, this.task.getJob())
// .getData(WoId.class);
// if (StringUtils.isBlank(resp.getId())) {
// throw new ExceptionWorkProcessing(this.work.getId());
// }
// } catch (Exception e) {
// LOGGER.error(e);
// }
// }, String.format("%s:record:%s", ActionProcessing.class.getName(), this.task.getId())).start();
// }
//
private void processingUpdateTaskCompleted() throws Exception {
TaskCompletedBuilder.updateNextTaskIdentity(taskCompletedId,
......@@ -394,17 +419,25 @@ class ActionProcessing extends BaseAction {
private void processingUpdateTask() throws Exception {
TaskBuilder.updatePrevTaskIdentity(newTasks.stream().map(Task::getId).collect(Collectors.toList()),
taskCompleteds, task);
TaskBuilder.updatePrevTaskIdentity(newTaskIds, taskCompleteds, task);
// for (Task o : newTasks) {
// if (StringUtils.isNotEmpty(o.getEmpowerFromIdentity())
// && (!StringUtils.equals(o.getEmpowerFromIdentity(), o.getIdentity()))) {
// empowerTasks.add(o);
// }
// }
List<Task> empowerTasks = new ArrayList<>();
for (Task o : newTasks) {
if (StringUtils.isNotEmpty(o.getEmpowerFromIdentity())
&& (!StringUtils.equals(o.getEmpowerFromIdentity(), o.getIdentity()))) {
empowerTasks.add(o);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
for (Task o : emc.list(Task.class, newTaskIds)) {
if (StringUtils.isNotEmpty(o.getEmpowerFromIdentity())
&& (!StringUtils.equals(o.getEmpowerFromIdentity(), o.getIdentity()))) {
empowerTasks.add(o);
}
}
}
List<Record> records = new ArrayList<>();
if (!empowerTasks.isEmpty()) {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
......@@ -412,10 +445,19 @@ class ActionProcessing extends BaseAction {
Record r = RecordBuilder.ofTaskEmpower(o, task.getEmpowerFromIdentity(),
business.organization().person().getWithIdentity(task.getEmpowerFromIdentity()),
business.organization().unit().getWithIdentity(task.getEmpowerFromIdentity()));
RecordBuilder.processing(r);
records.add(r);
}
}
}
if (!records.isEmpty()) {
records.stream().forEach(r -> {
try {
RecordBuilder.processing(r);
} catch (Exception e) {
LOGGER.error(e);
}
});
}
}
@Schema(name = "com.x.processplatform.assemble.surface.jaxrs.task.ActionProcessing.Wo")
......
......@@ -36,13 +36,14 @@ class ActionManageListFilterPaging extends BaseAction {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
ActionResult<List<Wo>> result = new ActionResult<>();
if (business.canManageApplication(effectivePerson, null)) {
if (BooleanUtils.isTrue(business.canManageApplication(effectivePerson, null))) {
Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
Predicate p = this.toFilterPredicate(effectivePerson, business, wi);
List<Wo> wos = emc.fetchDescPaging(TaskCompleted.class, Wo.copier, p, page, size, TaskCompleted.startTime_FIELDNAME);
List<Wo> wos = emc.fetchDescPaging(TaskCompleted.class, Wo.copier, p, page, size,
TaskCompleted.startTime_FIELDNAME);
result.setData(wos);
result.setCount(emc.count(TaskCompleted.class, p));
}else{
} else {
result.setData(new ArrayList<Wo>());
result.setCount(0L);
}
......@@ -50,7 +51,7 @@ class ActionManageListFilterPaging extends BaseAction {
}
}
private Predicate toFilterPredicate(EffectivePerson effectivePerson, Business business, Wi wi) throws Exception {
private Predicate toFilterPredicate(EffectivePerson effectivePerson, Business business, Wi wi) throws Exception {
EntityManager em = business.entityManagerContainer().get(TaskCompleted.class);
List<String> person_ids = business.organization().person().list(wi.getCredentialList());
CriteriaBuilder cb = em.getCriteriaBuilder();
......@@ -60,50 +61,51 @@ class ActionManageListFilterPaging extends BaseAction {
if (ListTools.isNotEmpty(wi.getApplicationList())) {
p = cb.and(p, root.get(TaskCompleted_.application).in(wi.getApplicationList()));
}
if (StringUtils.isNotBlank(wi.getPerson())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.person), wi.getPerson()));
if (StringUtils.isNotBlank(wi.getPerson())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.person), wi.getPerson()));
}
if (StringUtils.isNotBlank(wi.getStringValue01())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue01), wi.getStringValue01()));
if (StringUtils.isNotBlank(wi.getStringValue01())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue01), wi.getStringValue01()));
}
if (StringUtils.isNotBlank(wi.getStringValue02())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue02), wi.getStringValue02()));
if (StringUtils.isNotBlank(wi.getStringValue02())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue02), wi.getStringValue02()));
}
if (StringUtils.isNotBlank(wi.getStringValue03())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue03), wi.getStringValue03()));
if (StringUtils.isNotBlank(wi.getStringValue03())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue03), wi.getStringValue03()));
}
if (StringUtils.isNotBlank(wi.getStringValue04())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue04), wi.getStringValue04()));
if (StringUtils.isNotBlank(wi.getStringValue04())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue04), wi.getStringValue04()));
}
if (StringUtils.isNotBlank(wi.getStringValue05())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue05), wi.getStringValue05()));
if (StringUtils.isNotBlank(wi.getStringValue05())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue05), wi.getStringValue05()));
}
if (StringUtils.isNotBlank(wi.getStringValue06())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue06), wi.getStringValue06()));
if (StringUtils.isNotBlank(wi.getStringValue06())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue06), wi.getStringValue06()));
}
if (StringUtils.isNotBlank(wi.getStringValue07())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue07), wi.getStringValue07()));
if (StringUtils.isNotBlank(wi.getStringValue07())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue07), wi.getStringValue07()));
}
if (StringUtils.isNotBlank(wi.getStringValue08())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue08), wi.getStringValue08()));
if (StringUtils.isNotBlank(wi.getStringValue08())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue08), wi.getStringValue08()));
}
if (StringUtils.isNotBlank(wi.getStringValue09())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue09), wi.getStringValue09()));
if (StringUtils.isNotBlank(wi.getStringValue09())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue09), wi.getStringValue09()));
}
if (StringUtils.isNotBlank(wi.getStringValue10())){
p = cb.and(p,cb.equal(root.get(TaskCompleted_.stringValue10), wi.getStringValue10()));
if (StringUtils.isNotBlank(wi.getStringValue10())) {
p = cb.and(p, cb.equal(root.get(TaskCompleted_.stringValue10), wi.getStringValue10()));
}
if (ListTools.isNotEmpty(wi.getProcessList())) {
if(BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
if (BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
p = cb.and(p, root.get(TaskCompleted_.process).in(wi.getProcessList()));
}else{
p = cb.and(p, root.get(TaskCompleted_.process).in(business.process().listEditionProcess(wi.getProcessList())));
} else {
p = cb.and(p, root.get(TaskCompleted_.process)
.in(business.process().listEditionProcess(wi.getProcessList())));
}
}
if(DateTools.isDateTimeOrDate(wi.getStartTime())){
if (DateTools.isDateTimeOrDate(wi.getStartTime())) {
p = cb.and(p, cb.greaterThan(root.get(TaskCompleted_.startTime), DateTools.parse(wi.getStartTime())));
}
if(DateTools.isDateTimeOrDate(wi.getEndTime())){
if (DateTools.isDateTimeOrDate(wi.getEndTime())) {
p = cb.and(p, cb.lessThan(root.get(TaskCompleted_.startTime), DateTools.parse(wi.getEndTime())));
}
if (ListTools.isNotEmpty(person_ids)) {
......@@ -126,7 +128,7 @@ class ActionManageListFilterPaging extends BaseAction {
}
if (StringUtils.isNoneBlank(wi.getKey())) {
String key = StringTools.escapeSqlLikeKey(wi.getKey());
p = cb.and(p,cb.like(root.get(TaskCompleted_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
p = cb.and(p, cb.like(root.get(TaskCompleted_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
}
return p;
......@@ -134,6 +136,8 @@ class ActionManageListFilterPaging extends BaseAction {
public class Wi extends GsonPropertyObject {
private static final long serialVersionUID = -959852129833296223L;
@FieldDescribe("应用")
private List<String> applicationList;
......@@ -193,43 +197,130 @@ class ActionManageListFilterPaging extends BaseAction {
@FieldDescribe("业务数据String值10")
private String stringValue10;
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getApplicationList() {
return applicationList;
}
public String getPerson() { return person; }
public String getStringValue01() { return stringValue01; }
public String getStringValue02() { return stringValue02; }
public String getStringValue03() { return stringValue03; }
public String getStringValue04() { return stringValue04; }
public String getStringValue05() { return stringValue05; }
public String getStringValue06() { return stringValue06; }
public String getStringValue07() { return stringValue07; }
public String getStringValue08() { return stringValue08; }
public String getStringValue09() { return stringValue09; }
public String getStringValue10() { return stringValue10; }
public void setStringValue01(String stringValue01) { this.stringValue01 = stringValue01; }
public void setStringValue02(String stringValue02) { this.stringValue02 = stringValue02; }
public void setStringValue03(String stringValue03) { this.stringValue03 = stringValue03; }
public void setStringValue04(String stringValue04) { this.stringValue04 = stringValue04; }
public void setStringValue05(String stringValue05) { this.stringValue05 = stringValue05; }
public void setStringValue06(String stringValue06) { this.stringValue06 = stringValue06; }
public void setStringValue07(String stringValue07) { this.stringValue07 = stringValue07; }
public void setStringValue08(String stringValue08) { this.stringValue08 = stringValue08; }
public void setStringValue09(String stringValue09) { this.stringValue09 = stringValue09; }
public void setStringValue10(String stringValue10) { this.stringValue10 = stringValue10; }
return ListTools.trim(applicationList, true, true);
}
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public List<String> getJobList() {
return ListTools.trim(jobList, true, true);
}
public List<String> getWorkList() {
return ListTools.trim(workList, true, true);
}
public List<String> getCredentialList() {
return ListTools.trim(credentialList, true, true);
}
public String getPerson() {
return person;
}
public String getStringValue01() {
return stringValue01;
}
public String getStringValue02() {
return stringValue02;
}
public String getStringValue03() {
return stringValue03;
}
public String getStringValue04() {
return stringValue04;
}
public String getStringValue05() {
return stringValue05;
}
public String getStringValue06() {
return stringValue06;
}
public String getStringValue07() {
return stringValue07;
}
public String getStringValue08() {
return stringValue08;
}
public String getStringValue09() {
return stringValue09;
}
public String getStringValue10() {
return stringValue10;
}
public void setStringValue01(String stringValue01) {
this.stringValue01 = stringValue01;
}
public void setStringValue02(String stringValue02) {
this.stringValue02 = stringValue02;
}
public void setStringValue03(String stringValue03) {
this.stringValue03 = stringValue03;
}
public void setStringValue04(String stringValue04) {
this.stringValue04 = stringValue04;
}
public void setStringValue05(String stringValue05) {
this.stringValue05 = stringValue05;
}
public void setStringValue06(String stringValue06) {
this.stringValue06 = stringValue06;
}
public void setStringValue07(String stringValue07) {
this.stringValue07 = stringValue07;
}
public void setStringValue08(String stringValue08) {
this.stringValue08 = stringValue08;
}
public void setStringValue09(String stringValue09) {
this.stringValue09 = stringValue09;
}
public void setStringValue10(String stringValue10) {
this.stringValue10 = stringValue10;
}
public void setPerson(String person) {
this.person = person;
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public List<String> getProcessList() {
return processList;
}
public void setProcessList(List<String> processList) {
this.processList = processList;
}
......@@ -242,18 +333,10 @@ class ActionManageListFilterPaging extends BaseAction {
this.relateEditionProcess = relateEditionProcess;
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public List<String> getActivityNameList() {
return activityNameList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
......@@ -266,18 +349,10 @@ class ActionManageListFilterPaging extends BaseAction {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
public List<String> getCredentialList() {
return credentialList;
}
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
}
......@@ -298,18 +373,10 @@ class ActionManageListFilterPaging extends BaseAction {
this.endTime = endTime;
}
public List<String> getWorkList() {
return workList;
}
public void setWorkList(List<String> workList) {
this.workList = workList;
}
public List<String> getJobList() {
return jobList;
}
public void setJobList(List<String> jobList) {
this.jobList = jobList;
}
......
......@@ -21,6 +21,9 @@ public class RecordProperties extends JsonProperties {
@FieldDescribe("record中记录的处理人身份所在组织层级排序值.")
private String unitLevelOrderNumber = "";
@FieldDescribe("record中记录的处理人身份所在组织层级名.")
private String unitLevelName = "";
@FieldDescribe("record中记录的处理人身份所拥有的组织职务,向上递归.")
private List<String> unitDutyList = new ArrayList<>();
......@@ -277,4 +280,12 @@ public class RecordProperties extends JsonProperties {
this.unitLevelOrderNumber = unitLevelOrderNumber;
}
public String getUnitLevelName() {
return unitLevelName;
}
public void setUnitLevelName(String unitLevelName) {
this.unitLevelName = unitLevelName;
}
}
......@@ -91,8 +91,8 @@ public class WorkLog extends SliceJpaObject {
o.setSplitting(work.getSplitting());
o.setSplitToken(work.getSplitToken());
o.setSplitValue(work.getSplitValue());
o.getProperties().setSplitTokenList(work.getSplitTokenList());
o.getProperties().setSplitValueList(work.getSplitValueList());
o.setSplitTokenList(work.getSplitTokenList());
o.setSplitValueList(work.getSplitValueList());
o.setFromTime(date);
o.setCompleted(false);
o.setConnected(false);
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -17,30 +18,30 @@ public class ActionCountWithFilterWi extends GsonPropertyObject {
@FieldDescribe("应用")
@Schema(description = "过滤限制应用列表")
private List<String> appliationList;
private List<String> applicationList;
@FieldDescribe("流程")
@Schema(description = "过滤限制流程列表")
private List<String> processList;
public List<String> getCredentialList() {
return credentialList;
return ListTools.trim(credentialList, true, true);
}
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
public List<String> getApplicationList() {
return ListTools.trim(applicationList, true, true);
}
public List<String> getAppliationList() {
return appliationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public void setAppliationList(List<String> appliationList) {
this.appliationList = appliationList;
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
}
public List<String> getProcessList() {
return processList;
public void setAppliationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
......
......@@ -5,6 +5,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -33,43 +34,43 @@ public class ActionFilterAttributeFilterWi extends GsonPropertyObject {
private List<String> activityNameList = new ArrayList<>();
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public void setProcessList(List<String> processList) {
this.processList = processList;
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
public void setProcessList(List<String> processList) {
this.processList = processList;
}
public List<String> getActivityNameList() {
return activityNameList;
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -60,15 +61,27 @@ public class ActionListMyFilterPagingWi extends GsonPropertyObject {
private String key;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
......@@ -83,18 +96,10 @@ public class ActionListMyFilterPagingWi extends GsonPropertyObject {
this.relateEditionProcess = relateEditionProcess;
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public List<String> getActivityNameList() {
return activityNameList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
......@@ -107,10 +112,6 @@ public class ActionListMyFilterPagingWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -40,15 +41,27 @@ public class ActionListNextFilterWi extends GsonPropertyObject {
private String key;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
......@@ -63,18 +76,10 @@ public class ActionListNextFilterWi extends GsonPropertyObject {
this.relateEditionProcess = relateEditionProcess;
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public List<String> getActivityNameList() {
return activityNameList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
......@@ -87,10 +92,6 @@ public class ActionListNextFilterWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -40,15 +41,27 @@ public class ActionListPrevFilterWi extends GsonPropertyObject {
private String key;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
......@@ -63,18 +76,10 @@ public class ActionListPrevFilterWi extends GsonPropertyObject {
this.relateEditionProcess = relateEditionProcess;
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public List<String> getActivityNameList() {
return activityNameList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
......@@ -87,10 +92,6 @@ public class ActionListPrevFilterWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -103,7 +104,35 @@ public class ActionManageListFilterPagingWi extends GsonPropertyObject {
private String stringValue10;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getJobList() {
return ListTools.trim(jobList, true, true);
}
public List<String> getWorkList() {
return ListTools.trim(workList, true, true);
}
public List<String> getCredentialList() {
return ListTools.trim(credentialList, true, true);
}
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public String getStringValue01() {
......@@ -190,10 +219,6 @@ public class ActionManageListFilterPagingWi extends GsonPropertyObject {
this.applicationList = applicationList;
}
public List<String> getProcessList() {
return processList;
}
public void setProcessList(List<String> processList) {
this.processList = processList;
}
......@@ -206,18 +231,10 @@ public class ActionManageListFilterPagingWi extends GsonPropertyObject {
this.relateEditionProcess = relateEditionProcess;
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public List<String> getActivityNameList() {
return activityNameList;
}
public void setActivityNameList(List<String> activityNameList) {
this.activityNameList = activityNameList;
}
......@@ -230,18 +247,10 @@ public class ActionManageListFilterPagingWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
public List<String> getCredentialList() {
return credentialList;
}
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
}
......@@ -278,18 +287,10 @@ public class ActionManageListFilterPagingWi extends GsonPropertyObject {
this.urgeTime = urgeTime;
}
public List<String> getWorkList() {
return workList;
}
public void setWorkList(List<String> workList) {
this.workList = workList;
}
public List<String> getJobList() {
return jobList;
}
public void setJobList(List<String> jobList) {
this.jobList = jobList;
}
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -40,31 +41,39 @@ public class ActionManageListNextFilterWi extends GsonPropertyObject {
private String key;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public void setProcessList(List<String> processList) {
this.processList = processList;
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
public List<String> getCredentialList() {
return ListTools.trim(credentialList, true, true);
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public List<String> getActivityNameList() {
return activityNameList;
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
this.processList = processList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public void setActivityNameList(List<String> activityNameList) {
......@@ -79,18 +88,10 @@ public class ActionManageListNextFilterWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
public List<String> getCredentialList() {
return credentialList;
}
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
}
......
......@@ -4,6 +4,7 @@ import java.util.List;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -40,31 +41,39 @@ public class ActionManageListPrevFilterWi extends GsonPropertyObject {
private String key;
public List<String> getApplicationList() {
return applicationList;
return ListTools.trim(applicationList, true, true);
}
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
public List<String> getProcessList() {
return ListTools.trim(processList, true, true);
}
public List<String> getProcessList() {
return processList;
public List<String> getStartTimeMonthList() {
return ListTools.trim(startTimeMonthList, true, true);
}
public void setProcessList(List<String> processList) {
this.processList = processList;
public List<String> getActivityNameList() {
return ListTools.trim(activityNameList, true, true);
}
public List<String> getStartTimeMonthList() {
return startTimeMonthList;
public List<String> getCredentialList() {
return ListTools.trim(credentialList, true, true);
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
public List<String> getCreatorUnitList() {
return ListTools.trim(creatorUnitList, true, true);
}
public List<String> getActivityNameList() {
return activityNameList;
public void setApplicationList(List<String> applicationList) {
this.applicationList = applicationList;
}
public void setProcessList(List<String> processList) {
this.processList = processList;
}
public void setStartTimeMonthList(List<String> startTimeMonthList) {
this.startTimeMonthList = startTimeMonthList;
}
public void setActivityNameList(List<String> activityNameList) {
......@@ -79,18 +88,10 @@ public class ActionManageListPrevFilterWi extends GsonPropertyObject {
this.key = key;
}
public List<String> getCreatorUnitList() {
return creatorUnitList;
}
public void setCreatorUnitList(List<String> creatorUnitList) {
this.creatorUnitList = creatorUnitList;
}
public List<String> getCredentialList() {
return credentialList;
}
public void setCredentialList(List<String> credentialList) {
this.credentialList = credentialList;
}
......
......@@ -5,6 +5,7 @@ import java.util.List;
import com.google.gson.JsonElement;
import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.tools.ListTools;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -37,7 +38,11 @@ public class ActionProcessingWi extends GsonPropertyObject {
private List<String> ignoreEmpowerIdentityList;
public List<String> getAppendTaskIdentityList() {
return appendTaskIdentityList;
return ListTools.trim(appendTaskIdentityList, true, true);
}
public List<String> getIgnoreEmpowerIdentityList() {
return ListTools.trim(ignoreEmpowerIdentityList, true, true);
}
public void setAppendTaskIdentityList(List<String> appendTaskIdentityList) {
......@@ -76,10 +81,6 @@ public class ActionProcessingWi extends GsonPropertyObject {
this.routeData = routeData;
}
public List<String> getIgnoreEmpowerIdentityList() {
return ignoreEmpowerIdentityList;
}
public void setIgnoreEmpowerIdentityList(List<String> ignoreEmpowerIdentityList) {
this.ignoreEmpowerIdentityList = ignoreEmpowerIdentityList;
}
......
......@@ -110,13 +110,13 @@ class ActionAddSplit extends BaseAction {
workCopy.setActivityArrivedTime(new Date());
workCopy.setActivityDescription(activity.getDescription());
workCopy.setActivityName(activity.getName());
workCopy.setActivityToken(StringTools.uniqueToken());
workCopy.setActivityToken(from.getFromActivityToken());
workCopy.setActivityType(activity.getActivityType());
workCopy.setSplitTokenList(arrived.getProperties().getSplitTokenList());
workCopy.setSplitTokenList(arrived.getSplitTokenList());
workCopy.setSplitToken(arrived.getSplitToken());
workCopy.setSplitting(from.getSplitting());
workCopy.setSplitValue(splitValue);
// workCopy.getManualTaskIdentityList().clear();
workCopy.setSplitValueList(arrived.getSplitValueList());
workCopy.setManualTaskIdentityMatrix(new ManualTaskIdentityMatrix());
workCopy.setBeforeExecuted(false);
workCopy.setDestinationActivity(null);
......
......@@ -256,9 +256,7 @@ abstract class BaseAction extends StandardJaxrsAction {
try {
business.entityManagerContainer().beginTransaction(TaskCompleted.class);
business.entityManagerContainer().listEqual(TaskCompleted.class, TaskCompleted.work_FIELDNAME, work.getId())
.forEach(o -> {
o.setWork(mergeTo.getId());
});
.forEach(o -> o.setWork(mergeTo.getId()));
} catch (Exception e) {
LOGGER.error(e);
}
......
......@@ -112,8 +112,6 @@ class V2AddSplit extends BaseAction {
workCopy.setSplitTokenList(arrived.getSplitTokenList());
workCopy.setSplitValue(splitValue);
workCopy.setSplitting(arrived.getSplitting());
// workCopy.getManualTaskIdentityList().clear();
// workCopy.getManualTaskIdentityMatrix().clear();
workCopy.setManualTaskIdentityMatrix(new ManualTaskIdentityMatrix());
workCopy.setBeforeExecuted(false);
workCopy.setDestinationActivity(null);
......
......@@ -204,24 +204,6 @@ public class ManualProcessor extends AbstractManualProcessor {
return taskIdentities.identities();
}
// private void calculateRouteTypeBack(AeiObjects aeiObjects, Manual manual, TaskIdentities taskIdentities)
// throws Exception {
// List<String> identities = new ArrayList<>();
// List<WorkLog> workLogs = new ArrayList<>();
// workLogs.addAll(aeiObjects.getUpdateWorkLogs());
// workLogs.addAll(aeiObjects.getCreateWorkLogs());
// for (WorkLog o : aeiObjects.getWorkLogs()) {
// if (!workLogs.contains(o)) {
// workLogs.add(o);
// }
// }
// WorkLogTree tree = new WorkLogTree(workLogs);
// Node node = tree.location(aeiObjects.getWork());
// if (null != node) {
// calculateRouteTypeBackIdentityByTaskCompleted(aeiObjects, manual, taskIdentities, identities, tree, node);
// }
// }
private void calculateRouteTypeBack(AeiObjects aeiObjects, Manual manual, TaskIdentities taskIdentities)
throws Exception {
List<String> identities = new ArrayList<>();
......
package com.x.processplatform.service.processing.processor.split;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
......@@ -56,7 +57,9 @@ public class SplitProcessor extends AbstractSplitProcessor {
.push(Signal.splitExecute(aeiObjects.getWork().getActivityToken(), split, splitValues));
// 先将当前文档标志拆分值
aeiObjects.getWork().setSplitValue(splitValues.get(0));
aeiObjects.getWork().getSplitValueList().add(splitValues.get(0));
List<String> values = new ArrayList<>(aeiObjects.getWork().getSplitValueList());
values.add(splitValues.get(0));
aeiObjects.getWork().setSplitValueList(values);
results.add(aeiObjects.getWork());
Optional<WorkLog> optionalWorkLog = aeiObjects.getWorkLogs().stream()
.filter(o -> StringUtils.equals(aeiObjects.getWork().getActivityToken(), o.getFromActivityToken()))
......@@ -65,24 +68,15 @@ public class SplitProcessor extends AbstractSplitProcessor {
WorkLog mainWorkLog = optionalWorkLog.get();
mainWorkLog.setSplitting(true);
mainWorkLog.setSplitToken(aeiObjects.getWork().getSplitToken());
mainWorkLog.getProperties().getSplitTokenList().add(aeiObjects.getWork().getSplitToken());
mainWorkLog.setSplitTokenList(aeiObjects.getWork().getSplitTokenList());
mainWorkLog.setSplitValue(splitValues.get(0));
mainWorkLog.getProperties().getSplitValueList().add(aeiObjects.getWork().getSplitValue());
mainWorkLog.setSplitValueList(aeiObjects.getWork().getSplitValueList());
aeiObjects.getUpdateWorkLogs().add(mainWorkLog);
// 产生后续的拆分文档并标记拆分值
for (int i = 1; i < splitValues.size(); i++) {
// 将文档存放在一起
Work splitWork = new Work(aeiObjects.getWork());
// 替work换拆分值
splitWork.setSplitValue(splitValues.get(i));
ListTools.set(splitWork.getSplitValueList(), -1, splitValues.get(i));
Work splitWork = splitWork(aeiObjects, splitValues.get(i));
aeiObjects.getCreateWorks().add(splitWork);
WorkLog splitWorkLog = new WorkLog(mainWorkLog);
splitWorkLog.setSplitWork(aeiObjects.getWork().getId());
splitWorkLog.setWork(splitWork.getId());
// 替workLog换拆分值
splitWorkLog.setSplitValue(splitValues.get(i));
ListTools.set(splitWorkLog.getProperties().getSplitValueList(), -1, splitValues.get(i));
WorkLog splitWorkLog = splitWorkLog(aeiObjects, mainWorkLog, splitValues.get(i), splitWork);
aeiObjects.getCreateWorkLogs().add(splitWorkLog);
results.add(splitWork);
}
......@@ -90,6 +84,28 @@ public class SplitProcessor extends AbstractSplitProcessor {
return results;
}
private WorkLog splitWorkLog(AeiObjects aeiObjects, WorkLog mainWorkLog, String value, Work splitWork)
throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
WorkLog splitWorkLog = new WorkLog(mainWorkLog);
splitWorkLog.setSplitWork(aeiObjects.getWork().getId());
splitWorkLog.setWork(splitWork.getId());
splitWorkLog.setSplitValue(value);
List<String> values = new ArrayList<>(splitWorkLog.getSplitValueList());
ListTools.set(values, -1, value);
splitWorkLog.setSplitValueList(values);
return splitWorkLog;
}
private Work splitWork(AeiObjects aeiObjects, String value) throws Exception {
Work splitWork = new Work(aeiObjects.getWork());
// 替work换拆分值
splitWork.setSplitValue(value);
List<String> values = new ArrayList<>(splitWork.getSplitValueList());
ListTools.set(values, -1, value);
splitWork.setSplitValueList(values);
return splitWork;
}
@Override
protected void executingCommitted(AeiObjects aeiObjects, Split split, List<Work> works) throws Exception {
// nothing
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册