diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java index f05fa329d8..463e012053 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java @@ -77,6 +77,8 @@ public class BaseVehicleStateEnum { QKTCZZ("12", "欠款提车终止"), QKTCTG("13", "欠款提车审核通过"), TC("14", "退车"), + JCZBTIJ("15", "交车准备提交"), + JCTJ("16", "交车提交"), ; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java index dbea6e867e..915d6a131b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java @@ -85,6 +85,10 @@ public class BaseVehicleStateService extends MybatisBaseService { int updateFlowFiled(Map map); + List selectVinSidByApplySid(String sid); + /*//@Update("update bus_handover set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml index 90c367a32f..4325a16cef 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml @@ -162,4 +162,13 @@ ORDER BY createTime DESC ,id + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java index 00f825cbec..bf77f51dba 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java @@ -16,6 +16,9 @@ import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; import com.yxt.anrui.base.api.commoncontract.CommonContract; import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; import com.yxt.anrui.base.common.enums.BillTypeEnum; @@ -24,6 +27,7 @@ import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum; +import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply; import com.yxt.anrui.buscenter.api.bushandover.*; import com.yxt.anrui.buscenter.api.bushandover.app.*; import com.yxt.anrui.buscenter.api.bushandover.flow.BusHandoverTaskQuery; @@ -166,6 +170,8 @@ public class BusHandoverService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusHandover finalBusHandover1 = busHandover; Future future1 = pool.submit(() -> { //极光推送 - // busVehicleApply.set(fetchBySid(businessSid)); MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); MessageFlowVo messageFlowVo = new MessageFlowVo(); BeanUtil.copyProperties(ufVo, messageFlowVo); @@ -1985,7 +1991,7 @@ public class BusHandoverService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.JCTJ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } return voResultBean; } if (r == 2) { @@ -2083,6 +2115,32 @@ public class BusHandoverService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.JC_PASS.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } return rb.success().setData(resultBean.getData()); } else { @@ -2113,6 +2171,37 @@ public class BusHandoverService extends MybatisBaseService> listResultBean = flowTaskFeign.getLatestTasks(busHandover.getProcInstId()); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + String nextName = listResultBean.getData().get(0).getName_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if ("发起申请".equals(nextName)) { + 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()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.JCZBTIJ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } return rb.success().setData(resultBean.getData()); } } @@ -2204,9 +2293,32 @@ public class BusHandoverService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { if ("发起申请".equals(nextName)) { messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + 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()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.JCZBTIJ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { SysUserVo userVo = sysUserFeign.fetchBySid(busHandover.getCreateBySid()).getData(); if (userVo != null) { @@ -2306,6 +2418,31 @@ public class BusHandoverService extends MybatisBaseService map = BeanUtil.beanToMap(resultBean.getData()); updateFlowFiled(map); + //==============================修改车辆的持久状态组装数据 + 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()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.BUS_STOP.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } return rb.success().setData(resultBean.getData()); } else { if (businessTaskId.equals(query.getTaskId())) { @@ -2317,6 +2454,31 @@ public class BusHandoverService extends MybatisBaseService map = BeanUtil.beanToMap(resultBean.getData()); updateFlowFiled(map); + //==============================修改车辆的持久状态组装数据 + 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()); + BusHandover finalBusHandover = busHandover; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(finalBusHandover.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.BUS_STOP.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } return rb.success().setData(resultBean.getData()); } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.java index bc52ea2925..289ccf693d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.java @@ -67,4 +67,6 @@ public interface BusHandoverPrepareMapper extends BaseMapper List selectListVo(); IPage getDeliveryPlanList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("name") String name); + + List selectVinSidByApplySid(String sid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.xml index df8ed2a704..0b0b335b93 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareMapper.xml @@ -37,4 +37,13 @@ + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java index 2db68dd319..dd016aa0a7 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java @@ -29,10 +29,14 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; 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.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign; import com.yxt.anrui.base.api.basevehiclecertificate.CertificateStateQuery; import com.yxt.anrui.base.api.basevehiclecertificate.HandoverCertVo; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; +import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; import com.yxt.anrui.base.common.enums.CertificState; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum; @@ -42,6 +46,7 @@ import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepa import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepareVehicleInfoVo; import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.BusHandoverPrepareVehicle; import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitDto; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordEnum; import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecords; import com.yxt.anrui.buscenter.api.busvehicleinformation.BusVehicleInformation; @@ -66,10 +71,12 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; 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.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -113,6 +120,8 @@ public class BusHandoverPrepareService extends MybatisBaseService createQueryWrapper(BusHandoverPrepareQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -567,6 +576,30 @@ public class BusHandoverPrepareService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectVinSidByApplySid(dto.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.JCZBTIJ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } return rb.success(); } 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 e7c302b2c4..e075c7d299 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 @@ -5252,7 +5252,6 @@ public class BusSalesOrderService extends MybatisBaseService