diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java index 0642957268..6efdd9df75 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java @@ -3,7 +3,6 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app.order; import com.yxt.common.core.query.Query; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.beans.factory.annotation.Autowired; /** * @Author dimengzhe @@ -23,4 +22,17 @@ public class OrderQuery implements Query { private String menuUrl; @ApiModelProperty("用户sid") private String userSid; + + @ApiModelProperty("订单状态") + private String nodeState; + @ApiModelProperty("车型") + private String modelName; + @ApiModelProperty("合同编号") + private String contractNo; + @ApiModelProperty("发起人") + private String createByName; + @ApiModelProperty("发起部门") + private String createByDept; + @ApiModelProperty("销售类型") + private String saleTypeKey; } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml index ec9bfb1b3d..f8e84e77c1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml @@ -68,6 +68,7 @@ FROM bus_sales_order bo left join bus_sales_order_price bp on bp.salesOrderSid = bo.sid left join bus_sales_order_deposit bd on bd.salesOrderSid = bo.sid + left join bus_sales_order_model bm on bm.salesOrderSid = bo.sid ${ew.sqlSegment} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index 96b5e68375..0ee641a18a 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -5724,9 +5724,31 @@ public class BusSalesOrderService extends MybatisBaseService pagging = baseMapper.getSaleOrders(page, qw, pq.getParams().getName(), typeState); for (AppBusSalesOrderVo record : pagging.getRecords()) { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 80e19b175e..e81567b67e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -47,6 +47,7 @@ import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredFeign; import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBuscenterDetailVo; import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDepositInfoVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo; @@ -2207,6 +2208,20 @@ public class FinCollectionConfirmationService extends MybatisBaseService map = new HashMap<>(); - + @ApiModelProperty("列表中的taskDefKey") private String taskDefKey; } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java index 49a50d9211..d5265ac27b 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java @@ -304,8 +304,9 @@ public class FlowTaskService extends MybatisBaseService list = historyService .createHistoricActivityInstanceQuery() .processInstanceId(procInsId) - .orderByHistoricActivityInstanceStartTime() - .desc().list(); +// .orderByHistoricActivityInstanceStartTime() +// .desc().list(); + .list(); Map processInstance=processService.getProcessInstanceById(procInsId); List hisFlowList = new ArrayList<>(); for (HistoricActivityInstance histIns : list) { @@ -314,6 +315,11 @@ public class FlowTaskService extends MybatisBaseService processVariables = historicTaskInstance.getProcessVariables(); + flowTask.setProcVars(processVariables); Date startTime = histIns.getStartTime(); flowTask.setCreateTime(startTime); Date endTime = histIns.getEndTime(); @@ -323,9 +329,6 @@ public class FlowTaskService extends MybatisBaseService> sysUserVoResultBean = sysUserFeign.fetchBySids(histIns.getAssignee());// sysUserService.selectUserById(Long.parseLong(histIns.getAssignee())); List data1 = sysUserVoResultBean.getData(); @@ -2108,6 +2111,7 @@ public class FlowTaskService extends MybatisBaseService nullComparator = new NullComparator<>(); + @Autowired + private FlowTaskFeign flowTaskFeign; /* @Override @@ -159,7 +166,6 @@ public class FlowableRest implements FlowableFeign { public ResultBean> flowRecordAndComment(String procInsId, String deployId) { ResultBean flowRecordVoResultBean = flowableService.flowRecord(procInsId, deployId); com.yxt.anrui.flowable.api.flowtask.FlowRecordVo flowRecordVo = flowRecordVoResultBean.getData(); - // private List flowList = new ArrayList<>(); List flowList = new ArrayList<>(); //流转记录 List flowList1 = flowRecordVo.getFlowList(); @@ -184,8 +190,34 @@ public class FlowableRest implements FlowableFeign { a.setState(1+""); flowList.add(a); }); - flowList.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime())); - //flowRecordVo.setFlowList(flowList); + if(flowList1.size()>0){ + com.yxt.anrui.flowable.api.flowtask.FlowTask appFlowableRecordVo = flowList1.get(flowList1.size()-1); + if(!"Event_end".equals(appFlowableRecordVo.getTaskDefKey())){ + String proDefId = appFlowableRecordVo.getProcDefId(); + Map map = (Map) appFlowableRecordVo.getProcVars(); + FlowableQuery flowableQuery = new FlowableQuery(); + flowableQuery.setModelId(proDefId); + flowableQuery.setTaskDefKey(appFlowableRecordVo.getTaskDefKey()); + flowableQuery.setMap(map); + ResultBean>> resultBean = flowTaskFeign.yuyanTest(flowableQuery); + if(!resultBean.getData().isEmpty()){ + List> mapList = resultBean.getData(); + mapList.forEach(f->{ + PCHistTaskListAndCommentList a = new PCHistTaskListAndCommentList(); + Map stringObjectMap = BeanUtil.beanToMap(f); + stringObjectMap.put("taskName",f.get("nodeName").toString()); + stringObjectMap.put("finishTime",null); + stringObjectMap.put("createTime",""); + stringObjectMap.put("taskUserInfos",new ArrayList<>()); + a.setFlowableRecordVo(stringObjectMap); + a.setState(3 + ""); + flowList.add(a); + }); + } + } + } + flowList.sort(Comparator.nullsLast(Comparator.comparing(PCHistTaskListAndCommentList::getTime,nullComparator))); +// flowList.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime())); ResultBean> resultBean = new ResultBean>().success(); resultBean.setData(flowList); return resultBean; diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java index baa8744240..506a35f8a0 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java @@ -9,6 +9,7 @@ import lombok.Data; import java.util.Date; import java.util.List; +import java.util.Map; /** * @Author dimengzhe @@ -53,4 +54,14 @@ public class AppFlowableRecordVo implements Vo { @JsonIgnore private AppFlowCommentVo comment; + + @ApiModelProperty("任务编号") + private String taskId; + @ApiModelProperty("任务Key") + private String taskDefKey; + @ApiModelProperty("流程ID") + private String procDefId; + + private Map procVars; + } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java index c7d4286eef..ebc2326ac2 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java @@ -7,12 +7,14 @@ import com.yxt.anrui.flowable.api.flow.FlowableShareQuery; import com.yxt.anrui.flowable.api.flowcomment.FlowComment; import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowableQuery; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign; import com.yxt.anrui.terminal.api.app.ShareMessageQuery; import com.yxt.anrui.terminal.api.app.flowable.*; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.result.ResultBean; +import org.apache.commons.collections4.comparators.NullComparator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,12 +36,12 @@ public class AppService { private ProcessCommentFeign processCommentFeign; @Autowired private FlowableFeign flowableFeign; + private static final NullComparator nullComparator = new NullComparator<>(); public ResultBean> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) { ResultBean> rb = ResultBean.fireFail(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String procInsId = appFlowableRecordQuery.getProgressId(); -// String deployId = appFlowableRecordQuery.getDeployId(); ResultBean resultBean = flowTaskFeign.businessFlowRecord(procInsId); List voList = Optional.ofNullable(resultBean.getData().getFlowList()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppFlowableRecordVo.class)).collect(Collectors.toList()); voList.removeAll(Collections.singleton(null)); @@ -82,8 +84,6 @@ public class AppService { progressList.forEach(f -> { AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo(); a.setTime(f.getFinishTime() == null ? new Date() : f.getFinishTime()); - // a.setTime(f.getCreateTime()); - a.setFlowableRecordVo(f); a.setState(0 + ""); list.add(a); @@ -98,7 +98,31 @@ public class AppService { a.setState(1 + ""); list.add(a); }); - list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime())); +// list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime())); + if(progressList.size()>0){ + AppFlowableRecordVo appFlowableRecordVo = progressList.get(progressList.size()-1); + if(!"Event_end".equals(appFlowableRecordVo.getTaskDefKey())){ + String proDefId = appFlowableRecordVo.getProcDefId(); + Map map = appFlowableRecordVo.getProcVars(); + FlowableQuery flowableQuery = new FlowableQuery(); + flowableQuery.setModelId(proDefId); + flowableQuery.setTaskDefKey(appFlowableRecordVo.getTaskDefKey()); + flowableQuery.setMap(map); + ResultBean>> resultBean = flowTaskFeign.yuyanTest(flowableQuery); + if(!resultBean.getData().isEmpty()){ + List> mapList = resultBean.getData(); + mapList.forEach(f->{ + AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo(); + AppFlowableRecordVo app = new AppFlowableRecordVo(); + app.setTaskName(f.get("nodeName").toString()); + a.setFlowableRecordVo(app); + a.setState(3 + ""); + list.add(a); + }); + } + } + } + list.sort(Comparator.nullsLast(Comparator.comparing(AppFlowableRecordAndCommentVo::getTime,nullComparator))); return rb.success().setData(list); }