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 5231bed542..1101700b6a 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 @@ -73,6 +73,9 @@ public class BaseVehicleStateEnum { FIN_WRQ("8", "认款未完成"), CKTJ("9", "出库提交"), CKZZ("10", "出库终止、驳回以及撤回到第一环节时"), + QKTCTJ("11", "欠款提车提交"), + QKTCZZ("12", "欠款提车终止"), + QKTCTG("12", "欠款提车审核通过"), ; 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 cefaf8c2ae..8f83145046 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 @@ -24,53 +24,65 @@ public class BaseVehicleStateService extends MybatisBaseService selectByNo(String sid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml index 48742da8fd..d72e573531 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml @@ -143,4 +143,13 @@ WHERE bacva.`nodeState` = "已办结" AND bacvd.`vinSid` = #{vehSid} + + \ No newline at end of file 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 c452e71388..321e4ead24 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 @@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; 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.basemodelconfig.BaseModelConfigFeign; import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigSelectVo; import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; @@ -15,6 +16,9 @@ import com.yxt.anrui.base.api.basetrailer.TraliveredVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; +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.basevehicletempstate.BaseVehicleTempstate; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; @@ -87,6 +91,7 @@ import com.yxt.messagecenter.api.messagelist.MessageList; import com.yxt.messagecenter.api.messagelist.MessageListFeign; import org.apache.commons.collections4.comparators.NullComparator; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -100,6 +105,7 @@ import java.net.URL; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -203,6 +209,8 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService nullComparator = new NullComparator<>(); /** @@ -1759,6 +1767,7 @@ public class BusArrearsCarryVehicleApplyService 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()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectByNo(finalBusArrearsCarryVehicleApply.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKTCTJ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + 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(() -> { + //极光推送 + 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(finalBusArrearsCarryVehicleApply1.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("欠款提车申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } return voResultBean; } if (r == 2) { @@ -1926,8 +1971,33 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectByNo(finalBusArrearsCarryVehicleApply.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKTCTG.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } //推送出库申请 - List vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid()); + /*List vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid()); if (vehicleDetailsVos.size() > 0) { for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) { BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(),vehicleDetailsVo.getVinSid()); @@ -1961,7 +2031,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectByNo(finalBusArrearsCarryVehicleApply.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKTCZZ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { messageFlowableQuery.setMsgContent(busArrearsCarryVehicleApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); } @@ -2215,6 +2310,31 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectByNo(finalBusArrearsCarryVehicleApply.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKTCZZ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); return rb.success().setData(resultBean.getData()); @@ -2260,6 +2380,31 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; + Future future1 = pool.submit(() -> { + List dtoList = new ArrayList<>(); + List vinSidList = baseMapper.selectByNo(finalBusArrearsCarryVehicleApply.getSid()); + vinSidList.removeAll(Collections.singleton(null)); + if (!vinSidList.isEmpty()) { + vinSidList.stream().forEach(v -> { + BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); + baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKTCZZ.getTypeKey()); + baseVehicleStateDto.setBusSid(v); + dtoList.add(baseVehicleStateDto); + }); + ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } return rb.setMsg("操作失败!提交的数据不一致!"); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml index 939d1d4048..34fe2e6a9a 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml @@ -287,7 +287,7 @@ RIGHT(bv.linkNo, 8) as vinNo, bv.linkSid vinSid, bv.sid busVinSid - from (select busSid from anrui_base.base_vehicle_state where busState = '401' and finState = '1') as bs + from (select busSid from anrui_base.base_vehicle_state where busState = '401' and (finState = '1' or carryVehicleState = '1')) as bs left join bus_sales_order_vehicle bv on bs.busSid = bv.sid left join bus_sales_order bo on bo.sid = bv.salesOrderSid left join anrui_base.base_vehicle bbv on bbv.sid = bv.linkSid 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 5fe36cfe97..8ac348f0c7 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 @@ -749,7 +749,6 @@ public class BusDeliveredApplyService extends MybatisBaseService select bv.sid from bus_delivered_apply_details bd + left join bus_delivered_apply ba on ba.sid = bd.applySid left join bus_sales_order_vehicle bv on bv.linkSid = bd.vinSid - where bd.applySid = #{sid} + left join bus_sales_order bo on bo.sid = bv.salesOrderSid + where bd.applySid = #{sid} and bo.contractNo = ba.contractNo \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml index c2d5cae06e..b7d4e70db1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml @@ -61,7 +61,7 @@ and fc.busSid = #{depositBillNo} group by f.selectSid having usePrice>0 - union all + diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml index 408e453a62..4e56f82654 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml @@ -52,24 +52,24 @@ order by id asc--> SELECT distinct furd.sid, - furd.contractNo AS contractNo, - furd.receivablesName AS receivablesName, - furd.customerPhone AS customerPhone, - furd.customerName AS `customerName`, + furd.contractNo AS contractNo, + furd.receivablesName AS receivablesName, + furd.customerPhone AS customerPhone, + furd.customerName AS `customerName`, furd.customerSid, furd.useOrgSid, - COALESCE ( SUM( df.dbalance ), 0 ) AS realMoney, - cast((furd.`reveivableMoney` - COALESCE(SUM( df.dbalance ), 0)) AS DECIMAL(10, 2)) AS currentReceivableMoney, + COALESCE(SUM(df.dbalance), 0) AS realMoney, + cast((furd.`reveivableMoney` - COALESCE(SUM(df.dbalance), 0)) AS DECIMAL(10, 2)) AS currentReceivableMoney, furd.reveivableMoney, furd.contractSid, if(bv.linkNo is null or LENGTH(trim(bv.linkNo)) < 1, if(furd.payTypeKey = 2, RIGHT(bv.temporaryNo, 2), bv.temporaryNo), - RIGHT(bv.linkNo, 8)) as VIN, + RIGHT(bv.linkNo, 8)) as VIN, furd.busVinSid, furd.payType, furd.payTypeKey, - 0 as subscribedOf, - furd.sid as receivablesSid + 0 as subscribedOf, + furd.sid as receivablesSid FROM fin_uncollected_receivables_detailed furd left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = furd.busVinSid LEFT JOIN ( @@ -93,7 +93,7 @@ ${ew.sqlSegment} and length(furd.busVinSid) > 0 - group by furd.sid,currentReceivableMoney>0,furd.contractNo + group by furd.sid, currentReceivableMoney>0, furd.contractNo having currentReceivableMoney>0 order by furd.contractNo desc @@ -170,29 +170,29 @@ @@ -209,14 +209,59 @@