From aa4410939dbcaaea6f85f3c98ae9948fa46c0ab7 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Fri, 4 Aug 2023 13:31:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AD=98=E6=94=BE=E5=9C=B0=E7=82=B9?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E3=80=81=E6=AC=A0=E6=AC=BE=E6=8F=90=E8=BD=A6?= =?UTF-8?q?=E3=80=81=E5=87=BA=E5=BA=93=E7=94=B3=E8=AF=B7=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=8F=8A=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusArrearsCarryVehicleApplyService.java | 48 +++-- .../BusDeliveredApplyService.java | 32 ++- .../ScmVehicleGressionService.java | 191 ++++++------------ 3 files changed, 129 insertions(+), 142 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java index 95f0caeec8..5fe32b90a6 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java @@ -56,6 +56,7 @@ import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; @@ -73,6 +74,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; import com.yxt.common.base.config.component.DocPdfComponent; @@ -165,6 +167,8 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); + ResultBean voResultBean =flowFeign.startProcess(bv); if (!voResultBean.getSuccess()) { return rb.setMsg(voResultBean.getMsg()); } @@ -1944,27 +1948,39 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService resultBean = flowableFeign.handleProsess(bv); + ResultBean resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } UpdateFlowFieldVo ufVo = resultBean.getData(); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + busArrearsCarryVehicleApply = fetchBySid(bv.getBusinessSid()); if (!"Event_end".equals(ufVo.getTaskDefKey())) { - //极光推送 - busArrearsCarryVehicleApply = fetchBySid(bv.getBusinessSid()); - ufVo.setProcInsId(busArrearsCarryVehicleApply.getProcInstId()); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - ufVo.setProcInsId(busArrearsCarryVehicleApply.getProcInstId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); - messageFlowableQuery.setModuleName("欠款提车申请"); - messageFlowableQuery.setMsgContent(busArrearsCarryVehicleApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("欠款提车申请"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply1 = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + //极光推送 + ufVo.setProcInsId(finalBusArrearsCarryVehicleApply1.getProcInstId()); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcInsId(finalBusArrearsCarryVehicleApply1.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("欠款提车申请"); + messageFlowableQuery.setMsgContent(finalBusArrearsCarryVehicleApply1.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("欠款提车申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { List carList = busArrearsCarryVehicleDetailsService.selectDetailsByApplySid(bv.getBusinessSid()); for (BusArrearsCarryVehicleDetails adCarListDto : carList) { 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 19858ca605..86a2451164 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 @@ -101,6 +101,7 @@ import com.yxt.anrui.fin.api.finvehicleinvoice.InvoiceVo; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; @@ -169,6 +170,8 @@ public class BusDeliveredApplyService extends MybatisBaseService resultBean = flowableFeign.handleProsess(bv); + ResultBean resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } + UpdateFlowFieldVo ufVo = resultBean.getData(); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { baseMapper.updateStateBySid(3, bv.getBusinessSid()); @@ -895,6 +899,30 @@ public class BusDeliveredApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusDeliveredApply finalBusDeliveredApply = busDeliveredApply; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("出库申请"); + messageFlowableQuery.setMsgContent(finalBusDeliveredApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("出库申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } } } return rb.success().setData(resultBean.getData()); @@ -2353,7 +2381,7 @@ public class BusDeliveredApplyService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); + ResultBean voResultBean = flowFeign.startProcess(bv); if (!voResultBean.getSuccess()) { return rb.setMsg(voResultBean.getMsg()); } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java index efff774c00..b175aa4a22 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java @@ -39,6 +39,7 @@ import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateVo; +import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.DictCommonEnum; import com.yxt.anrui.base.common.utils.Rule; @@ -46,6 +47,7 @@ import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; @@ -161,6 +163,8 @@ public class ScmVehicleGressionService extends MybatisBaseService createQueryWrapper(ScmVehicleGressionQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -959,21 +963,36 @@ public class ScmVehicleGressionService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); + ResultBean voResultBean = flowFeign.startProcess(bv); UpdateFlowFieldVo ufVo = voResultBean.getData(); updateFlowFiled(BeanUtil.beanToMap(ufVo)); - //极光推送 scmVehicleGression = fetchBySid(businessSid); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("存放地点变更申请"); - messageFlowableQuery.setMsgContent(scmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("存放地点变更"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + ScmVehicleGression finalScmVehicleGression = scmVehicleGression; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("存放地点变更申请"); + messageFlowableQuery.setMsgContent(finalScmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("存放地点变更"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; } if (r == 2) { @@ -1036,7 +1055,6 @@ public class ScmVehicleGressionService extends MybatisBaseService variables = new HashMap<>(); Map appMap = new HashMap<>(); @@ -1047,19 +1065,20 @@ public class ScmVehicleGressionService extends MybatisBaseService resultBean = flowableFeign.handleProsess(bv); + ResultBean resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } UpdateFlowFieldVo ufVo = resultBean.getData(); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + scmVehicleGression = fetchBySid(bv.getBusinessSid()); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); Future future1 = pool.submit(() -> { String pdfPath = createPdf(bv.getBusinessSid()); //将生成的出门证添加到出门证表中 @@ -1068,114 +1087,40 @@ public class ScmVehicleGressionService extends MybatisBaseService { -// //推送调拨单 -// List vinList = scmVehicleGressionVehService.fetchVoByMainSid(bv.getBusinessSid()); -// if (vinList.size() > 0) { -// //根据分公司sid查询分公司编码 -// String useOrgSid = finalScmVehicleGression.getUseOrgSid(); -// ResultBean sysOrg = sysOrganizationFeign.fetchBySid(useOrgSid); -// SysOrganizationVo sysOrganizationVo = sysOrg.getData(); -// for (String s : vinList) { -// BaseVehicleVo baseVehicleVo = baseVehicleFeign.selVehicleByVinNo(s).getData(); -// List FPAYBILLENTRYs = new ArrayList<>(); -// StkTransferDirect stkTransferDirect = new StkTransferDirect(); -// stkTransferDirect.setFStockOrgId(sysOrganizationVo.getOrgCode()); //调入库存组织 -// stkTransferDirect.setFDate(simpleDateFormat.format(baseVehicleVo.getPriceDate())); //日期 -// StkTransferDirect.FBillEntry fBillEntry = new StkTransferDirect.FBillEntry(); -// ScmWarehouse scmWarehouse = scmWarehouseService.fetchBySid(finalScmVehicleGression.getTargetLocationSid()); -// fBillEntry.setFDestStockId(scmWarehouse.getGressionCode());//调入仓库 -// fBillEntry.setFMaterialId(s);//物料编码 -// scmWarehouse = scmWarehouseService.fetchBySid(finalScmVehicleGression.getLocationSid()); -// fBillEntry.setFSrcStockId(scmWarehouse.getGressionCode());//调出仓库 -// FPAYBILLENTRYs.add(fBillEntry); -// stkTransferDirect.setFBillEntry(FPAYBILLENTRYs); -// finKingDeeFeign.draftStkTransferDirect(stkTransferDirect); -// } -// } -// -// }); - } else { - //极光推送 - scmVehicleGression = fetchBySid(bv.getBusinessSid()); - ufVo.setProcInsId(scmVehicleGression.getProcInstId()); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - ufVo.setProcInsId(scmVehicleGression.getProcInstId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); - messageFlowableQuery.setModuleName("存放地点变更申请"); - messageFlowableQuery.setMsgContent(scmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("存放地点变更"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + } catch (Exception e) { + e.printStackTrace(); } - - - } catch (Exception e) { - e.printStackTrace(); - } - return rb.success().setData(resultBean.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); - } - //===============================添加多线程结束====================== - /*if (bv.getTaskId().equals(scmVehicleGression.getTaskId())) { - ResultBean resultBean = flowableFeign.handleProsess(bv); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - if (!"Event_end".equals(ufVo.getTaskDefKey())) { - //极光推送 - scmVehicleGression = fetchBySid(bv.getBusinessSid()); - ufVo.setProcInsId(scmVehicleGression.getProcInstId()); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - ufVo.setProcInsId(scmVehicleGression.getProcInstId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); - messageFlowableQuery.setModuleName("存放地点变更申请"); - messageFlowableQuery.setMsgContent(scmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("存放地点变更"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - - } else { - //推送调拨单 - List vinList = scmVehicleGressionVehService.fetchVoByMainSid(bv.getBusinessSid()); - if (vinList.size() > 0) { - //根据分公司sid查询分公司编码 - String useOrgSid = scmVehicleGression.getUseOrgSid(); - ResultBean sysOrg = sysOrganizationFeign.fetchBySid(useOrgSid); - SysOrganizationVo sysOrganizationVo = sysOrg.getData(); - for (String s : vinList) { - BaseVehicleVo baseVehicleVo = baseVehicleFeign.selVehicleByVinNo(s).getData(); - List FPAYBILLENTRYs = new ArrayList<>(); - StkTransferDirect stkTransferDirect = new StkTransferDirect(); - stkTransferDirect.setFStockOrgId(sysOrganizationVo.getOrgCode()); //调入库存组织 - stkTransferDirect.setFDate(simpleDateFormat.format(baseVehicleVo.getPriceDate())); //日期 - StkTransferDirect.FBillEntry fBillEntry = new StkTransferDirect.FBillEntry(); - ScmWarehouse scmWarehouse = scmWarehouseService.fetchBySid(scmVehicleGression.getTargetLocationSid()); - fBillEntry.setFDestStockId(scmWarehouse.getGressionCode());//调入仓库 - fBillEntry.setFMaterialId(s);//物料编码 - scmWarehouse = scmWarehouseService.fetchBySid(scmVehicleGression.getLocationSid()); - fBillEntry.setFSrcStockId(scmWarehouse.getGressionCode());//调出仓库 - FPAYBILLENTRYs.add(fBillEntry); - stkTransferDirect.setFBillEntry(FPAYBILLENTRYs); - finKingDeeFeign.draftStkTransferDirect(stkTransferDirect); - } + }else{ + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + ScmVehicleGression finalScmVehicleGression = scmVehicleGression; + Future future1 = pool.submit(() -> { + //极光推送 + ufVo.setProcInsId(finalScmVehicleGression.getProcInstId()); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcInsId(finalScmVehicleGression.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("存放地点变更申请"); + messageFlowableQuery.setMsgContent(finalScmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("存放地点变更"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); } } return rb.success().setData(resultBean.getData()); } else { return rb.setMsg("操作失败!提交的数据不一致"); } -*/ } /** @@ -1261,7 +1206,6 @@ public class ScmVehicleGressionService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(scmVehicleGression.getCreateBySid())) { if ("发起申请".equals(nextName)) { messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); //清除临时车辆表状态 @@ -1307,7 +1251,6 @@ public class ScmVehicleGressionService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(scmVehicleGression.getCreateBySid())) { if ("发起申请".equals(nextName)) { //清除临时车辆表状态 baseVehicleTempstateFeign.delByBusSid(query.getBusinessSid()); From 0a4539292da4faae72fd4563d3df57956f8e372d Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Fri, 4 Aug 2023 13:49:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A4=96=E9=87=87=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=8A=9E=E7=90=86=E8=B0=83=E6=B5=81=E7=A8=8B=E3=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A8=E9=80=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseOutsourcingApplicationService.java | 185 ++++++++++-------- 1 file changed, 107 insertions(+), 78 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java index 59910ef2be..55ee247bc4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java @@ -32,6 +32,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer; import com.yxt.anrui.base.api.baseoutsourcingapplication.*; import com.yxt.anrui.base.api.baseoutsourcingapplication.flow.GetNodeVo; @@ -54,6 +55,7 @@ import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign; @@ -74,6 +76,7 @@ import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.anrui.portal.config.DictCommonType; import com.yxt.anrui.scm.api.scmvehicleexamine.ScmEntryVehicleExamineDto; import com.yxt.anrui.scm.api.scmvehicleexamine.ScmVehicleExamineFeign; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import com.yxt.anrui.scm.api.scmvehinspectitem.ScmVehinspectItemDto; import com.yxt.anrui.scm.api.scmvehinspectitem.ScmVehinspectItemFeign; import com.yxt.common.base.config.component.FileUploadComponent; @@ -87,12 +90,14 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -145,6 +150,8 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService createQueryWrapper(BaseOutsourcingApplicationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -420,22 +427,33 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService resultBean1 = flowableFeign.startProcess(bv); + ResultBean resultBean1 = flowFeign.startProcess(bv); UpdateFlowFieldVo uff = resultBean1.getData(); updateFlowFiled(BeanUtil.beanToMap(uff)); //======================添加消息推送开始 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(uff, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("外采申请"); - messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("外采申请"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - //极光推送 -// String msgSid = getMessage(uff, appMap, baseOutsourcingApplication); + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(uff, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("外采申请"); + messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("外采申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //======================添加消息推送结束 return resultBean1; } @@ -481,47 +499,68 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService resultBean1 = flowableFeign.startProcess(bv); + ResultBean resultBean1 = flowFeign.startProcess(bv); UpdateFlowFieldVo uff = resultBean1.getData(); updateFlowFiled(BeanUtil.beanToMap(uff)); - //======================添加消息推送开始 - BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(businessSid); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(uff, messageFlowVo); - messageFlowVo.setProcInsId(baseOutsourcingApplication.getProcInstSid()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("外采申请"); - messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("外采申请"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - //======================添加消息推送结束 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(uff, messageFlowVo); + messageFlowVo.setProcInsId(baseOutsourcingApplication.getProcInstSid()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("外采申请"); + messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("外采申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } return resultBean1; } else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步 bv.setTaskDefKey(booad.getTaskDefKey()); bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); bv.setInstanceId(dto.getInstanceId()); - ResultBean rb = flowableFeign.handleProsess(bv); + ResultBean rb = flowFeign.handleProsess(bv); UpdateFlowFieldVo uff = rb.getData(); Map stringObjectMap = BeanUtil.beanToMap(rb.getData()); updateFlowFiled(stringObjectMap); //======================添加消息推送开始 - BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(businessSid); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(uff, messageFlowVo); - messageFlowVo.setProcInsId(baseOutsourcingApplication.getProcInstSid()); - messageFlowVo.setProcDefId(baseOutsourcingApplication.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("外采申请"); - messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("外采申请"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - //======================添加消息推送结束 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(uff, messageFlowVo); + messageFlowVo.setProcInsId(baseOutsourcingApplication.getProcInstSid()); + messageFlowVo.setProcDefId(baseOutsourcingApplication.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("外采申请"); + messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("外采申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } return rb; } else { return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); @@ -602,21 +641,30 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - //======================添加消息推送结束 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + UpdateFlowFieldVo uff = rb.getData(); + BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(bv.getBusinessSid()); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(uff, messageFlowVo); + messageFlowVo.setProcInsId(baseOutsourcingApplication.getProcInstSid()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("外采申请"); + messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("外采申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } } return rb; @@ -626,27 +674,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService complete_handleProsess(BusinessVariables bv, BaseOutsourcingApplicationDto dto) { - ResultBean rb = flowableFeign.handleProsess(bv); + ResultBean rb = flowFeign.handleProsess(bv); Map stringObjectMap = BeanUtil.beanToMap(rb.getData()); updateFlowFiled(stringObjectMap); - //消息推送===========开始 - /* UpdateFlowFieldVo uff = rb.getData(); - if (!"Event_end".equals(uff.getTaskDefKey())) { - BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(bv.getBusinessSid()); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(uff,messageFlowVo); - uff.setProcInsId(baseOutsourcingApplication.getProcInstSid()); - uff.setProcDefId(baseOutsourcingApplication.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap((Map) bv.getFormVariables().get("app")); - messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); - messageFlowableQuery.setModuleName("外采申请"); - messageFlowableQuery.setMsgContent(baseOutsourcingApplication.getCreateByName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批"); - messageFlowableQuery.setMsgTitle("供应链"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - }*/ - //消息推送结束===== return rb; } @@ -828,7 +858,6 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(baseOutsourcingApplication.getCreateBySid())) { if ("发起申请".equals(nextName)) { messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); } else {