|
|
@ -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<BusAr |
|
|
|
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro; |
|
|
|
@Autowired |
|
|
|
private MessageListFeign messageListFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleStateFeign baseVehicleStateFeign; |
|
|
|
private static final NullComparator<String> nullComparator = new NullComparator<>(); |
|
|
|
|
|
|
|
/** |
|
|
@ -1738,6 +1746,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
|
|
|
|
appMap.put("sid", businessSid); |
|
|
|
appMap.put("contractNO",busArrearsCarryVehicleApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
if (StringUtils.isNotBlank(dto.getIsFinance())) { |
|
|
|
variables.put("jinrong", "1".equals(dto.getIsFinance())); |
|
|
@ -1759,6 +1768,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
busArrearsCarryVehicleApply = fetchBySid(businessSid); |
|
|
|
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto(); |
|
|
|
baseVehicleTempstateDto.setBusSid(businessSid); |
|
|
|
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode()); |
|
|
@ -1772,18 +1782,54 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
} |
|
|
|
baseMapper.updateType(businessSid); |
|
|
|
//极光推送
|
|
|
|
busArrearsCarryVehicleApply = 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(busArrearsCarryVehicleApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("欠款提车申请"); |
|
|
|
ResultBean<String> 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<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
List<String> 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<Runnable>(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<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -1857,6 +1903,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", bv.getBusinessSid()); |
|
|
|
appMap.put("contractNO",busArrearsCarryVehicleApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
if (StringUtils.isNotBlank(busArrearsCarryVehicleApply.getIsFinance())) { |
|
|
|
variables.put("jinrong", "1".equals(busArrearsCarryVehicleApply.getIsFinance())); |
|
|
@ -1926,8 +1973,33 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
//修改状态
|
|
|
|
baseMapper.updateType(bv.getBusinessSid()); |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
List<String> 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<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid()); |
|
|
|
/*List<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid()); |
|
|
|
if (vehicleDetailsVos.size() > 0) { |
|
|
|
for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) { |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(),vehicleDetailsVo.getVinSid()); |
|
|
@ -1961,7 +2033,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
busDeliveredService.saveOrUpdateDto(busDeliveredDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
@ -1976,6 +2048,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", bv.getBusinessSid()); |
|
|
|
appMap.put("contractNO",busArrearsCarryVehicleApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
//=================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
@ -2046,6 +2119,31 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
//修改状态
|
|
|
|
baseMapper.updateType(bv.getBusinessSid()); |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
List<String> 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(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return rb.success().setData(resultBean1.getData()); |
|
|
@ -2133,6 +2231,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", query.getBusinessSid()); |
|
|
|
appMap.put("contractNO",busArrearsCarryVehicleApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
//=================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
@ -2196,6 +2295,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", query.getBusinessSid()); |
|
|
|
appMap.put("contractNO",busArrearsCarryVehicleApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
//=================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
@ -2246,6 +2346,31 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid()); |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
List<String> 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.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
@ -2257,10 +2382,36 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid()); |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusArrearsCarryVehicleApply finalBusArrearsCarryVehicleApply = busArrearsCarryVehicleApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
List<String> 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.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|