diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java index 15a57e295e..f94ba05a3a 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java @@ -90,4 +90,5 @@ public class BusMainDeposit extends BaseEntity { @ApiModelProperty(value = "环节定义的ID") private String taskDefKey; + private String orgSidPath; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java index 4205833116..40abdf69af 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java @@ -164,4 +164,6 @@ public class AppBusSalesOrderVo implements Vo { @ApiModelProperty("审批结束时间") private String endTime; + @ApiModelProperty("车架号显示") + private String vinNo; } 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/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index e80f4048e9..587d6ad9c7 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -61,6 +61,7 @@ import com.yxt.anrui.buscenter.api.busdiscountpackagehandover.BusDiscountpackage import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListDto; import com.yxt.anrui.buscenter.api.bushandoverprepare.BusHandoverPrepareAddDto; import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepareVehicleDto; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; @@ -103,6 +104,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -195,6 +198,8 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId()); flowProcessMapQuery.setVariables(variables); @@ -1152,7 +1177,27 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId()); flowProcessMapQuery.setVariables(variables); @@ -1190,7 +1235,27 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId()); flowProcessMapQuery.setVariables(variables); @@ -1231,7 +1296,27 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId()); flowProcessMapQuery.setVariables(variables); @@ -1312,7 +1397,27 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId()); flowProcessMapQuery.setVariables(variables); @@ -1987,7 +2092,27 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if(detailsVoResultBean.getData() != null){ + if("01".equals(detailsVoResultBean.getData().getTypeKey())){ + //自营非担保 + variables.put("isDanBao",true); + }else{ + variables.put("isDanBao",false); + } + } + }else{ + variables.put("isDanBao",false); + } + }else{ + variables.put("isDanBao",true); + } + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); flowProcessMapQuery.setProDefKey(bv.getModelId()); flowProcessMapQuery.setVariables(variables); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java index 1f55c5ccc2..d5b3b5ed4e 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java @@ -775,6 +775,7 @@ public class BusMainDepositService extends MybatisBaseService variables = new HashMap<>(); Map appMap = new HashMap<>(); appMap.put("virtualOrderSid", bv.getBusinessSid()); variables.put("app", appMap); bv.setFormVariables(variables); + bv.setOrgSidPath(busMainDeposit.getOrgSidPath()); if (bv.getTaskId().equals(busMainDeposit.getTaskId())) { ResultBean resultBean = flowableFeign.handleProsess(bv); log.info("流程返回:{}", JSONObject.toJSONString(resultBean)); 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..6747d847e1 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 @@ -4620,6 +4620,28 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = getSaleOrderDetails(businessSid); + AppOrderDetailsVo vo = resultBean.getData(); + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { + //更新已选择的车架号的状态为审批中 + List list = busSalesOrderVehicleService.selectVehicleSid(businessSid); + BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); + busMainDepositUpdateQuery.setVinSidList(list); + busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); + busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); + baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); + } + if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrderOne.getType())) { + List list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); + for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { + String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); + //查询该采购订单的已使用台数 + int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); + count = count + busSalesVehicleOrderDetailsVo.getUsingNum(); + //更新该采购订单的锁定台数 + ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); + } + } //如果创建人与部门主管一样,则自动到下一环节。 if(busSalesOrder.get().getCreateBySid().equals(nextNodeUserSids_)){ busSalesOrderOne = fetchBySid(businessSid); @@ -4635,7 +4657,6 @@ public class BusSalesOrderService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - ResultBean resultBean = getSaleOrderDetails(businessSid); - AppOrderDetailsVo vo = resultBean.getData(); - if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { - //更新已选择的车架号的状态为审批中 - List list = busSalesOrderVehicleService.selectVehicleSid(businessSid); - BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); - busMainDepositUpdateQuery.setVinSidList(list); - busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); - busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); - baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); - } - if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrderOne.getType())) { - List list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); - for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { - String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); - //查询该采购订单的已使用台数 - int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); - count = count + busSalesVehicleOrderDetailsVo.getUsingNum(); - //更新该采购订单的锁定台数 - ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); - } - } return voResultBean; } if (r == 2) { @@ -5724,12 +5723,36 @@ public class BusSalesOrderService extends MybatisBaseService pagging = baseMapper.getSaleOrders(page, qw, pq.getParams().getName(), typeState); for (AppBusSalesOrderVo record : pagging.getRecords()) { + List vinList = busSalesOrderVehicleService.selectList(record.getSaleOrderSid()); + record.setVinNo(String.join(",",vinList)); record.setShowStopBtn(false); record.setShowContractBtn(false); if (StringUtils.isNotBlank(record.getCustomerImage())) { 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-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 0d010b1cb8..76b7597c5d 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -33,7 +33,7 @@ public enum ProcDefEnum { BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:722512"), BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:3:722516"), BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:4:1362508"), - BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:9:1632516"), + BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:10:1700004"), BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"), BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"), SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"), 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-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java index 17cf817ea6..ec5af23ab3 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java @@ -114,4 +114,6 @@ public class BusOrderSalesVo implements Vo { private String contractId; @ApiModelProperty("销售专员") private String saler; + @ApiModelProperty("车架号的展示") + private String vinNo; } 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); }