From fe18d440586a5cbd8ab98237a395a281fda1a738 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期三, 17 十二月 2025 09:42:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java | 858 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 854 insertions(+), 4 deletions(-)
diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
index 83b7578..7765095 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
@@ -1,13 +1,28 @@
package com.ruoyi.tms.service.impl;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.SystemDataNoEnum;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.service.ISysDictDataService;
+import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.ISystemDataNoService;
+import com.ruoyi.tms.domain.*;
+import com.ruoyi.tms.domain.vo.DriverDispatchVo;
+import com.ruoyi.tms.domain.vo.ServiceProviderVo;
+import com.ruoyi.tms.mapper.*;
+import com.ruoyi.tms.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
@@ -20,9 +35,6 @@
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.core.service.BaseService;
-import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
-import com.ruoyi.tms.domain.TmsDispatchOrder;
-import com.ruoyi.tms.service.ITmsDispatchOrderService;
import com.ruoyi.common.core.text.Convert;
/**
@@ -40,6 +52,39 @@
private TmsDispatchOrderMapper tmsDispatchOrderMapper;
@Autowired
ISystemDataNoService systemDataNoService;
+ @Autowired
+ private ISysUserService userService;
+ @Autowired
+ private ITmsDriverDispatchService tmsDriverDispatchService;
+ @Resource
+ private TmsQuoteDetailMapper tmsQuoteDetailMapper;
+
+ @Resource
+ private TmsQuotePlanMapper tmsQuotePlanMapper;
+
+
+ @Autowired
+ ITmsFinanceService tmsFinanceService;
+ @Autowired
+ private ITmsFinanceDetailService tmsFinanceDetailService;
+ @Autowired
+ private ITmsQuoteFeeService tmsQuoteFeeService;
+
+ @Autowired
+ ISysDictDataService sysDictDataService;
+
+ @Autowired
+ private ITmsReceivableFeeService tmsReceivableFeeService;
+ @Autowired
+ private ITmsReceivableFeeItemService tmsReceivableFeeItemService;
+ @Autowired
+ private TmsDriverDispatchServiceImpl tmsDriverDispatchServiceImpl;
+ @Resource
+ private TmsLoadingServiceProviderMapper tmsLoadingServiceProviderMapper;
+ @Resource
+ private TmsServiceProviderMapper tmsServiceProviderMapper;
+ @Resource
+ private TmsCustomsServiceProviderMapper tmsCustomsServiceProviderMapper;
/**
* 鏌ヨ璋冨害鍗曠鐞�
@@ -53,6 +98,215 @@
{
return tmsDispatchOrderMapper.selectTmsDispatchOrderById(id);
}
+
+ @Override
+ public AjaxResult confirmOrder(Integer id) {
+ TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id);
+ if (tmsDispatchOrder == null){
+ return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+ }
+ if (tmsDispatchOrder.getStatus() != 0){
+ return AjaxResult.error("璇ヨ皟搴﹀崟鏁版嵁鐘舵�佸紓甯�");
+ }
+ if (tmsDispatchOrder.getMainDriverId() == null){
+ return AjaxResult.error("璇峰厛閫夋嫨涓婚┚鍙告満");
+ }
+ if (tmsDispatchOrder.getVehicleId() == null){
+ return AjaxResult.error("璇峰厛閫夋嫨杞﹁締");
+ }
+ tmsDispatchOrder.setConfirmTime(DateUtils.getNowDate());
+ tmsDispatchOrder.setStatus(1);
+
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ int i = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+ TmsDriverDispatch tmsDriverDispatch = new TmsDriverDispatch();
+ tmsDriverDispatch.setDriverId(tmsDispatchOrder.getMainDriverId());
+ tmsDriverDispatch.setDispatchId(tmsDispatchOrder.getId());
+ tmsDriverDispatch.setStatus(0);
+ tmsDriverDispatchService.insertTmsDriverDispatch(tmsDriverDispatch);
+ if (i > 0){
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
+ }
+ return AjaxResult.error("鎿嶄綔澶辫触");
+ }
+ @Override
+ public AjaxResult okOrder(Integer id) {
+ TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id);
+ if (tmsDispatchOrder == null){
+ return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+ }
+ if (tmsDispatchOrder.getStatus() != 2){
+ return AjaxResult.error("璇ヨ皟搴﹀崟鏁版嵁鐘舵�佸紓甯�");
+ }
+ tmsDispatchOrder.setStatus(3);
+ tmsDispatchOrder.setOkTime(DateUtils.getNowDate());
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ int i = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+ if (i > 0){
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
+ }
+ return AjaxResult.error("鎿嶄綔澶辫触");
+ }
+ @Override
+ public AjaxResult copyOrder(Integer id) {
+ TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id);
+ if (tmsDispatchOrder == null){
+ return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+ }
+ TmsDispatchOrder tmsDispatchOrderNew = BeanUtil.copyProperties(tmsDispatchOrder, TmsDispatchOrder.class);
+
+ tmsDispatchOrderNew.setStatus(0);
+ tmsDispatchOrderNew.setMainDriverId(null);
+ tmsDispatchOrderNew.setMainDriverName(null);
+ tmsDispatchOrderNew.setAssistantDriverId(null);
+ tmsDispatchOrderNew.setAssistantDriverName(null);
+ tmsDispatchOrderNew.setVehicleId(null);
+ tmsDispatchOrderNew.setLicensePlate(null);
+ tmsDispatchOrderNew.setUpdateBy(null);
+ tmsDispatchOrderNew.setId(null);
+
+
+ int i = insertTmsDispatchOrder(tmsDispatchOrderNew);
+ if (i > 0){
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
+ }
+ return AjaxResult.error("鎿嶄綔澶辫触");
+ }
+
+ @Override
+ public AjaxResult dropHook(Integer id) {
+ TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id);
+ if (tmsDispatchOrder == null){
+ return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+ }
+ tmsDriverDispatchService.update(
+ null,
+ new LambdaUpdateWrapper<TmsDriverDispatch>()
+ .eq(TmsDriverDispatch::getDispatchId, tmsDispatchOrder.getId())
+ .eq(TmsDriverDispatch::getDriverId, tmsDispatchOrder.getMainDriverId())
+ .set(TmsDriverDispatch::getStatus, 1)
+ );
+
+ tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
+ .set(TmsDispatchOrder::getStatus, 6)
+ );
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
+ }
+
+
+ @Override
+ public AjaxResult connectHang(TmsDriverDispatch driverDispatch) {
+ TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(driverDispatch.getDispatchId());
+ if (tmsDispatchOrder == null){
+ return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+ }
+ driverDispatch.setStatus(2);
+ tmsDriverDispatchService.insertTmsDriverDispatch(driverDispatch);
+ return AjaxResult.success();
+ }
+
+
+ @Override
+ public int customsOrder(TmsDispatchOrder tmsDispatchOrder) {
+ return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
+ .set(TmsDispatchOrder::getCustomsServiceProviderId, tmsDispatchOrder.getCustomsServiceProviderId())
+ .set(TmsDispatchOrder::getCustomsServiceProviderName, tmsDispatchOrder.getCustomsServiceProviderName())
+ );
+
+ }
+
+ @Override
+ public int loadingOrder(TmsDispatchOrder tmsDispatchOrder) {
+ return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
+ .set(TmsDispatchOrder::getLoadingServiceProviderId, tmsDispatchOrder.getLoadingServiceProviderId())
+ .set(TmsDispatchOrder::getLoadingServiceProviderName, tmsDispatchOrder.getLoadingServiceProviderName())
+ );
+ }
+
+ @Override
+ public AjaxResult assignedItineraryList() {
+ Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+ if (deviceId == null){
+ return AjaxResult.success();
+ }
+
+ DriverDispatchVo vo = new DriverDispatchVo();
+ vo.setDriverId(deviceId);
+ vo.setInStatusList(Arrays.asList(0, 1, 2,4));
+ vo.setInTdoStatusList(Arrays.asList(1, 2));
+ List<DriverDispatchVo> driverDispatchVos = tmsDispatchOrderMapper.selectAssignedItineraryList(vo);
+ if (driverDispatchVos != null && !driverDispatchVos.isEmpty()){
+ driverDispatchVos.forEach(item ->{
+ if (item.getTddStatus() == 1 ){
+ item.setStatusStr("寰呯敥鎸�");
+ }else if (item.getTddStatus() == 2){
+ item.setStatusStr("寰呮帴鎸�");
+ }else if (item.getStatus() == 1){
+ item.setStatusStr("寰呭彂杞�");
+ }else if (item.getStatus() == 2){
+ item.setStatusStr("鍦ㄩ��");
+ }else {
+ item.setStatusStr("瀹屾垚琛岀▼");
+ }
+ });
+ }
+
+
+ return AjaxResult.success(driverDispatchVos);
+ }
+ @Override
+ public AjaxResult assignedItineraryLogList() {
+ Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+ if (deviceId == null){
+ return AjaxResult.success();
+ }
+
+ DriverDispatchVo vo = new DriverDispatchVo();
+ vo.setDriverId(deviceId);
+ vo.setInStatusList(Arrays.asList(3,5));
+// vo.setInTdoStatusList(Arrays.asList(1, 2));
+ List<DriverDispatchVo> driverDispatchVos = tmsDispatchOrderMapper.selectAssignedItineraryList(vo);
+ if (driverDispatchVos != null && !driverDispatchVos.isEmpty()){
+ driverDispatchVos.forEach(item ->{
+ item.setStatusStr("瀹屾垚琛岀▼");
+ });
+ }
+
+
+ return AjaxResult.success(driverDispatchVos);
+ }
+ @Override
+ public AjaxResult selectAssignedItineraryDetail(Integer dispatchId) {
+ Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+ if (deviceId == null){
+ return AjaxResult.success();
+ }
+
+ DriverDispatchVo vo = new DriverDispatchVo();
+ vo.setDriverId(deviceId);
+ vo.setDispatchId(dispatchId);
+ DriverDispatchVo driverDispatchVo = tmsDispatchOrderMapper.selectAssignedItineraryDetail(vo);
+ if (driverDispatchVo != null){
+ if (driverDispatchVo.getTddStatus() == 1 ){
+ driverDispatchVo.setStatusStr("寰呯敥鎸�");
+ }else if (driverDispatchVo.getTddStatus() == 2){
+ driverDispatchVo.setStatusStr("寰呮帴鎸�");
+ }else if (driverDispatchVo.getStatus() == 1){
+ driverDispatchVo.setStatusStr("寰呭彂杞�");
+ }else if (driverDispatchVo.getStatus() == 2){
+ driverDispatchVo.setStatusStr("鍦ㄩ��");
+ }else{
+ driverDispatchVo.setStatusStr("瀹屾垚琛岀▼");
+ }
+ }
+ return AjaxResult.success(driverDispatchVo);
+ }
+
+
+
/**
* 鏌ヨ璋冨害鍗曠鐞� 璁板綍鏁�
@@ -191,4 +445,600 @@
{
return tmsDispatchOrderMapper.deleteTmsDispatchOrderById(id);
}
+
+ @Override
+ public List<TmsDispatchOrder> initGenerate(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = tmsDispatchOrderMapper.selectBatchIds(ids);
+ if (tmsDispatchOrders != null && !tmsDispatchOrders.isEmpty()){
+ tmsDispatchOrders.forEach(tmsDispatchOrder -> {
+
+ // 1銆佹槸鍚︽槸澶栧崗
+// tmsDispatchOrder.is
+
+ // 瀹㈡埛ID
+ Integer customerId = tmsDispatchOrder.getCustomerId();
+
+ // 杞﹀瀷
+ String actualVehicleType = tmsDispatchOrder.getActualVehicleType();
+
+ // 杩愯緭璺嚎 = 鍙戣揣鍦拌鏀垮尯鍩� + 鏀惰揣鍦拌鏀垮尯鍩�
+ String shipperRegionCode = tmsDispatchOrder.getShipperRegionCode();
+ String receiverRegionCode = tmsDispatchOrder.getReceiverRegionCode();
+ if (tmsDispatchOrder.getAccountsReceivableStatus() != null && tmsDispatchOrder.getAccountsReceivableStatus() == 1){
+ TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(tmsDispatchOrder.getCollectionPlanId());
+ tmsDispatchOrder.setCollectionPlanId(tmsQuotePlan.getId());
+ tmsDispatchOrder.setCollectionPlanName(tmsQuotePlan.getPlanName());
+ }else{
+ // 鏌ヨ搴旀敹瑙勫垯
+ TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>()
+ .eq(TmsQuoteDetail::getCustomerId, customerId)
+ .eq(TmsQuoteDetail::getVehicleType, actualVehicleType)
+ .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
+ .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
+ .eq(TmsQuoteDetail::getPlanType, 0)
+ .last("limit 1")
+ );
+ if (tmsQuoteDetail != null){
+ TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(tmsQuoteDetail.getQuotePlanId());
+ tmsDispatchOrder.setCollectionPlanId(tmsQuotePlan.getId());
+ tmsDispatchOrder.setCollectionPlanName(tmsQuotePlan.getPlanName());
+ tmsDispatchOrder.setCollectionPlanDetailId(tmsQuoteDetail.getId());
+ tmsDispatchOrder.setCollectionPlanAmount(tmsQuoteDetail.getFreightPrice());
+ }else{
+ tmsDispatchOrder.setAccountsReceivableStatus(2);
+ }
+ }
+
+ if (tmsDispatchOrder.getAccountsPayableStatus() != null && tmsDispatchOrder.getAccountsPayableStatus() == 1){
+ TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(tmsDispatchOrder.getPaymentPlanId());
+ tmsDispatchOrder.setPaymentPlanId(tmsQuotePlan.getId());
+ tmsDispatchOrder.setPaymentPlanName(tmsQuotePlan.getPlanName());
+ }else{
+ // 鏌ヨ搴斾粯瑙勫垯
+ TmsQuoteDetail tmsQuoteDetail2 = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>()
+ .eq(TmsQuoteDetail::getCustomerId, customerId)
+ .eq(TmsQuoteDetail::getVehicleType, actualVehicleType)
+ .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
+ .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
+ .eq(TmsQuoteDetail::getPlanType, 1)
+ .last("limit 1")
+ );
+
+ if (tmsQuoteDetail2 != null){
+ TmsQuotePlan tmsQuotePlan = tmsQuotePlanMapper.selectTmsQuotePlanById(tmsQuoteDetail2.getQuotePlanId());
+ tmsDispatchOrder.setPaymentPlanId(tmsQuotePlan.getId());
+ tmsDispatchOrder.setPaymentPlanName(tmsQuotePlan.getPlanName());
+ tmsDispatchOrder.setPaymentPlanDetailId(tmsQuoteDetail2.getId());
+ tmsDispatchOrder.setPaymentPlanAmount(tmsQuoteDetail2.getFreightPrice());
+
+ }else{
+ tmsDispatchOrder.setAccountsPayableStatus(2);
+ }
+ }
+
+
+ });
+ }
+ return tmsDispatchOrders;
+ }
+
+ @Override
+ public List<TmsDispatchOrder> initYSGenerate(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = tmsDispatchOrderMapper.selectBatchIds(ids);
+ if (tmsDispatchOrders != null && !tmsDispatchOrders.isEmpty()){
+ tmsDispatchOrders.forEach(tmsDispatchOrder -> {
+ List<TmsReceivableFeeItem> tmsReceivableFeeItems = new ArrayList<>();
+ if (tmsDispatchOrder.getAccountsReceivableStatus() != null &&
+ tmsDispatchOrder.getAccountsReceivableStatus() == 1){
+ throw new RuntimeException(tmsDispatchOrder.getDispatchNo()+"搴旀敹璐﹀崟宸茬敓鎴愶紝璇峰厛浣滃簾");
+ }
+ // 瀹㈡埛ID
+ Integer customerId = tmsDispatchOrder.getCustomerId();
+ // 1銆佹槸鍚︽槸鑷惀 0 = 鏄� 1 = 鍚� 鑾峰彇杩愯垂
+ //if(tmsDispatchOrder.getOperationMode().equals(1)){
+ // 闈炶嚜钀ラ渶瑕佹湁杩愯垂
+ // 杞﹁締鏈嶅姟鍟�
+ // 瀹為檯杞﹀瀷
+ String actualVehicleType = tmsDispatchOrder.getActualVehicleType();
+ // 鍑哄彂璺嚎 44,4404,440402,440402102
+ String shipperRegionCode = tmsDispatchOrder.getStartRegionCode();
+ // 鐩殑鍦拌矾绾� 81,8100,810000
+ String receiverRegionCode = tmsDispatchOrder.getReceiverRegionCode();
+
+ // 鏌ヨ搴旀敹瑙勫垯
+ TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>()
+ .eq(TmsQuoteDetail::getCustomerId, customerId)
+ .eq(TmsQuoteDetail::getVehicleType, actualVehicleType)
+ .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
+ .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
+ .eq(TmsQuoteDetail::getPlanType, 0)
+ .last("limit 1")
+ );
+
+
+
+ if (tmsQuoteDetail == null){
+ throw new RuntimeException("璋冨害鍗�"+tmsDispatchOrder.getDispatchNo()+"鏈淮鎶ゅ簲鏀惰繍璐规姤浠凤紝璇风淮鎶ゆ暟鎹悗鍐嶉噸鏂扮敓鎴�");
+ }
+
+ if (tmsQuoteDetail.getIsSegmentedInvoice() == 1){
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(0);
+ tmsReceivableFeeItem.setFeeName("杩愯垂");
+ tmsReceivableFeeItem.setTypeId(tmsQuoteDetail.getId());
+ tmsReceivableFeeItem.setRegisterAmount(tmsQuoteDetail.getFreightPrice());
+ tmsReceivableFeeItem.setRegisterTime(tmsDispatchOrder.getConfirmTime());
+ tmsReceivableFeeItem.setCurrency(tmsQuoteDetail.getCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+ }else{
+ TmsReceivableFeeItem tmsReceivableFeeItemOne = new TmsReceivableFeeItem();
+ tmsReceivableFeeItemOne.setFeeType(0);
+ tmsReceivableFeeItemOne.setFeeName("涓�娈佃繍璐�");
+ tmsReceivableFeeItemOne.setTypeId(tmsQuoteDetail.getId());
+ tmsReceivableFeeItemOne.setRegisterAmount(tmsQuoteDetail.getSegment1FreightQuote());
+ tmsReceivableFeeItemOne.setRegisterTime(tmsDispatchOrder.getConfirmTime());
+ tmsReceivableFeeItemOne.setCurrency(tmsQuoteDetail.getSegment1Currency());
+
+ tmsReceivableFeeItemOne.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItemOne);
+
+
+ TmsReceivableFeeItem tmsReceivableFeeItemTwo = new TmsReceivableFeeItem();
+ tmsReceivableFeeItemTwo.setFeeType(0);
+ tmsReceivableFeeItemTwo.setFeeName("浜屾杩愯垂");
+ tmsReceivableFeeItemTwo.setTypeId(tmsQuoteDetail.getId());
+ tmsReceivableFeeItemTwo.setRegisterAmount(tmsQuoteDetail.getSegment2FreightQuote());
+ tmsReceivableFeeItemTwo.setRegisterTime(tmsDispatchOrder.getConfirmTime());
+ tmsReceivableFeeItemTwo.setCurrency(tmsQuoteDetail.getSegment2Currency());
+ tmsReceivableFeeItemTwo.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItemTwo);
+
+ }
+ //}
+ // 2銆� 鑾峰彇瀹炴姤瀹為攢璐圭敤
+ List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
+ setDispatchOrderId(tmsDispatchOrder.getId());
+ }});
+
+ if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){
+ tmsFinanceDetails.forEach(tmsFinanceDetail -> {
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(2);
+
+ String feeName = sysDictDataService.selectDictLabel("fee_type", tmsFinanceDetail.getFeeType());
+ tmsReceivableFeeItem.setFeeName(feeName);
+ tmsReceivableFeeItem.setTypeId(tmsFinanceDetail.getId());
+ tmsReceivableFeeItem.setRegisterAmount(tmsFinanceDetail.getActualFeeAmount());
+ tmsReceivableFeeItem.setRegisterTime(tmsFinanceDetail.getUpdateTime());
+ tmsReceivableFeeItem.setCurrency(tmsFinanceDetail.getCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+ });
+ }
+
+
+ // 3銆� 鑾峰彇鎶ヤ环璐圭敤
+// tmsDispatchOrder.is
+ List<TmsQuoteFee> tmsQuoteFees = tmsQuoteFeeService.selectTmsQuoteFeeList(new TmsQuoteFee() {{
+ setDispatchId(tmsDispatchOrder.getId());
+ }});
+
+ if (tmsQuoteFees != null && !tmsQuoteFees.isEmpty()){
+ tmsQuoteFees.forEach(item -> {
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(1);
+ tmsReceivableFeeItem.setFeeName(item.getFreeName());
+ tmsReceivableFeeItem.setTypeId(item.getId());
+ tmsReceivableFeeItem.setRegisterAmount(item.getSum());
+ tmsReceivableFeeItem.setRegisterTime(item.getCreateTime());
+ tmsReceivableFeeItem.setCurrency(item.getCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+ });
+ }
+
+
+
+ tmsDispatchOrder.setTmsReceivableFeeItems(tmsReceivableFeeItems);
+ });
+ }
+ return tmsDispatchOrders;
+ }
+
+
+ @Override
+ public List<TmsDispatchOrder> initYFGenerate(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = tmsDispatchOrderMapper.selectBatchIds(ids);
+ if (tmsDispatchOrders != null && !tmsDispatchOrders.isEmpty()){
+ tmsDispatchOrders.forEach(tmsDispatchOrder -> {
+ List<TmsReceivableFeeItem> tmsReceivableFeeItems = new ArrayList<>();
+ if (tmsDispatchOrder.getAccountsPayableStatus() != null &&
+ tmsDispatchOrder.getAccountsPayableStatus() == 1){
+ throw new RuntimeException(tmsDispatchOrder.getDispatchNo()+"搴斾粯璐﹀崟宸茬敓鎴愶紝璇峰厛浣滃簾");
+ }
+ // 瀹㈡埛ID
+ Integer customerId = tmsDispatchOrder.getCustomerId();
+ // 1銆佹槸鍚︽槸鑷惀 0 = 鏄� 1 = 鍚� 鑾峰彇杩愯垂
+ if(tmsDispatchOrder.getOperationMode().equals(1)){
+ // 闈炶嚜钀ラ渶瑕佹湁杩愯垂
+ // 杞﹁締鏈嶅姟鍟�
+ Integer vehicleProviderId = tmsDispatchOrder.getVehicleProviderId();
+ // 瀹為檯杞﹀瀷
+ String actualVehicleType = tmsDispatchOrder.getActualVehicleType();
+ // 鍑哄彂璺嚎 44,4404,440402,440402102
+ String shipperRegionCode = tmsDispatchOrder.getStartRegionCode();
+ // 鐩殑鍦拌矾绾� 81,8100,810000
+ String receiverRegionCode = tmsDispatchOrder.getReceiverRegionCode();
+
+ // 鏌ヨ搴旀敹瑙勫垯
+ TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>()
+ .eq(TmsQuoteDetail::getVehicleProviderId, vehicleProviderId)
+ .eq(TmsQuoteDetail::getVehicleType, actualVehicleType)
+ .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
+ .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
+ .eq(TmsQuoteDetail::getPlanType, 1)
+ .last("limit 1")
+ );
+
+
+
+ if (tmsQuoteDetail == null){
+ throw new RuntimeException("璋冨害鍗�"+tmsDispatchOrder.getDispatchNo()+"鏈淮鎶ゅ簲浠樿繍璐规姤浠凤紝璇风淮鎶ゆ暟鎹悗鍐嶉噸鏂扮敓鎴�");
+ }
+
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(0);
+ tmsReceivableFeeItem.setFeeName("杩愯垂");
+ tmsReceivableFeeItem.setTypeId(tmsQuoteDetail.getId());
+ tmsReceivableFeeItem.setRegisterAmount(tmsQuoteDetail.getFreightPrice());
+ tmsReceivableFeeItem.setRegisterTime(tmsDispatchOrder.getConfirmTime());
+ tmsReceivableFeeItem.setCurrency(tmsQuoteDetail.getCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+
+ }
+ // 2銆� 鑾峰彇瀹炴姤瀹為攢璐圭敤
+ List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
+ setDispatchOrderId(tmsDispatchOrder.getId());
+ setIsYF(1);
+ }});
+
+ if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){
+ tmsFinanceDetails.forEach(tmsFinanceDetail -> {
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(2);
+
+ String feeName = sysDictDataService.selectDictLabel("fee_type", tmsFinanceDetail.getFeeType());
+ tmsReceivableFeeItem.setFeeName(feeName);
+ tmsReceivableFeeItem.setTypeId(tmsFinanceDetail.getId());
+ tmsReceivableFeeItem.setRegisterAmount(tmsFinanceDetail.getYfPrice());
+ tmsReceivableFeeItem.setRegisterTime(tmsFinanceDetail.getUpdateTime());
+ tmsReceivableFeeItem.setCurrency(tmsFinanceDetail.getYfCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+ });
+ }
+
+
+ // 3銆� 鑾峰彇鎶ヤ环璐圭敤
+// tmsDispatchOrder.is
+ List<TmsQuoteFee> tmsQuoteFees = tmsQuoteFeeService.selectTmsQuoteFeeList(new TmsQuoteFee() {{
+ setDispatchId(tmsDispatchOrder.getId());
+ setIsYF(1);
+ }});
+
+ if (tmsQuoteFees != null && !tmsQuoteFees.isEmpty()){
+ tmsQuoteFees.forEach(item -> {
+ TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem();
+ tmsReceivableFeeItem.setFeeType(1);
+ tmsReceivableFeeItem.setFeeName(item.getFreeName());
+ tmsReceivableFeeItem.setTypeId(item.getId());
+ tmsReceivableFeeItem.setRegisterAmount(item.getYfSum());
+ tmsReceivableFeeItem.setRegisterTime(item.getCreateTime());
+ tmsReceivableFeeItem.setCurrency(item.getYfCurrency());
+ tmsReceivableFeeItem.setRowKey(IdUtil.objectId());
+
+ tmsReceivableFeeItems.add(tmsReceivableFeeItem);
+ });
+ }
+
+
+
+ tmsDispatchOrder.setTmsReceivableFeeItems(tmsReceivableFeeItems);
+ });
+ }
+ return tmsDispatchOrders;
+ }
+
+ @Override
+ public AjaxResult ysGenerateTmsDispatchOrder(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = initYSGenerate(ids);
+ List<TmsDispatchOrder> collect1 = tmsDispatchOrders.stream().filter(item -> item.getTmsReceivableFeeItems() == null || item.getTmsReceivableFeeItems().isEmpty()).collect(Collectors.toList());
+ if (!collect1.isEmpty()){
+ String disNos = collect1.stream().map(TmsDispatchOrder::getDispatchNo).collect(Collectors.joining(","));
+ return AjaxResult.error("璋冨害鍗�"+disNos+"鏈湁搴旀敹淇℃伅");
+ }
+
+
+
+
+ List<TmsDispatchOrder> collect = tmsDispatchOrders.stream().map(item -> {
+ TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder();
+ tmsDispatchOrder.setId(item.getId());
+ tmsDispatchOrder.setAccountsReceivableStatus(1);
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ return tmsDispatchOrder;
+ }).collect(Collectors.toList());
+ // 1銆佷慨鏀硅皟搴�
+ tmsDispatchOrderMapper.updateTmsDispatchOrderBatch(collect);
+
+ // 2銆佺敓鎴愬簲鏀跺崟
+
+ tmsDispatchOrders.stream().forEach(item -> {
+ TmsReceivableFee tmsReceivableFee = new TmsReceivableFee();
+ String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YSFY);
+
+ tmsReceivableFee.setSystemNo(noByKey);
+ tmsReceivableFee.setDispatchId(item.getId());
+ tmsReceivableFee.setDispatchNo(item.getDispatchNo());
+ tmsReceivableFee.setCustomerId(item.getCustomerId());
+ tmsReceivableFee.setCustomerName(item.getCustomerName());
+ tmsReceivableFee.setProjectId(item.getProjectId());
+ tmsReceivableFee.setProjectName(item.getProjectName());
+
+ List<TmsReceivableFeeItem> tmsReceivableFeeItems = item.getTmsReceivableFeeItems();
+
+
+ BigDecimal totalRmbAmount = tmsReceivableFeeItems.stream()
+ .filter(cItem -> "RMB".equals(cItem.getCurrency()))
+ .map(TmsReceivableFeeItem::getRegisterAmount)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ tmsReceivableFee.setReceivableRMBAmount(totalRmbAmount);
+
+
+ BigDecimal totalHkbAmount = tmsReceivableFeeItems.stream()
+ .filter(cItem -> "HKD".equals(cItem.getCurrency()))
+ .map(TmsReceivableFeeItem::getRegisterAmount)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ tmsReceivableFee.setReceivableHKBAmount(totalHkbAmount);
+
+
+ tmsReceivableFee.setDispatchConfirmTime(item.getConfirmTime());
+ tmsReceivableFee.setCostGenerateTime(new Date());
+ tmsReceivableFee.setStatus(0);
+ tmsReceivableFee.setCreateBy(SecurityUtils.getUsername());
+ tmsReceivableFeeService.insertTmsReceivableFee(tmsReceivableFee);
+
+
+ tmsReceivableFeeItems.forEach(kItem -> {
+ kItem.setHeadId(tmsReceivableFee.getId());
+ });
+ tmsReceivableFeeItemService.insertTmsReceivableFeeItemBatch(tmsReceivableFeeItems);
+ });
+ return AjaxResult.success();
+ }
+ @Override
+ public AjaxResult yfGenerateTmsDispatchOrder(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = initYFGenerate(ids);
+ List<TmsDispatchOrder> collect1 = tmsDispatchOrders.stream().filter(item -> item.getTmsReceivableFeeItems() == null || item.getTmsReceivableFeeItems().isEmpty()).collect(Collectors.toList());
+ if (!collect1.isEmpty()){
+ String disNos = collect1.stream().map(TmsDispatchOrder::getDispatchNo).collect(Collectors.joining(","));
+ return AjaxResult.error("璋冨害鍗�"+disNos+"鏈湁搴斾粯淇℃伅");
+ }
+
+
+
+
+ List<TmsDispatchOrder> collect = tmsDispatchOrders.stream().map(item -> {
+ TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder();
+ tmsDispatchOrder.setId(item.getId());
+ tmsDispatchOrder.setAccountsPayableStatus(1);
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ return tmsDispatchOrder;
+ }).collect(Collectors.toList());
+ // 1銆佷慨鏀硅皟搴�
+ tmsDispatchOrderMapper.updateTmsDispatchOrderBatch(collect);
+
+ // 2銆佺敓鎴愬簲鏀跺崟
+
+// tmsDispatchOrders.stream().forEach(item -> {
+// TmsReceivableFee tmsReceivableFee = new TmsReceivableFee();
+// String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YSFY);
+//
+// tmsReceivableFee.setSystemNo(noByKey);
+// tmsReceivableFee.setDispatchId(item.getId());
+// tmsReceivableFee.setDispatchNo(item.getDispatchNo());
+// tmsReceivableFee.setCustomerId(item.getCustomerId());
+// tmsReceivableFee.setCustomerName(item.getCustomerName());
+// tmsReceivableFee.setProjectId(item.getProjectId());
+// tmsReceivableFee.setProjectName(item.getProjectName());
+//
+// List<TmsReceivableFeeItem> tmsReceivableFeeItems = item.getTmsReceivableFeeItems();
+//
+//
+// BigDecimal totalRmbAmount = tmsReceivableFeeItems.stream()
+// .filter(cItem -> "RMB".equals(cItem.getCurrency()))
+// .map(TmsReceivableFeeItem::getRegisterAmount)
+// .reduce(BigDecimal.ZERO, BigDecimal::add);
+// tmsReceivableFee.setReceivableRMBAmount(totalRmbAmount);
+//
+//
+// BigDecimal totalHkbAmount = tmsReceivableFeeItems.stream()
+// .filter(cItem -> "HKB".equals(cItem.getCurrency()))
+// .map(TmsReceivableFeeItem::getRegisterAmount)
+// .reduce(BigDecimal.ZERO, BigDecimal::add);
+// tmsReceivableFee.setReceivableHKBAmount(totalHkbAmount);
+//
+//
+// tmsReceivableFee.setDispatchConfirmTime(item.getConfirmTime());
+// tmsReceivableFee.setCostGenerateTime(new Date());
+// tmsReceivableFee.setStatus(0);
+// tmsReceivableFee.setCreateBy(SecurityUtils.getUsername());
+// tmsReceivableFeeService.insertTmsReceivableFee(tmsReceivableFee);
+//
+//
+// tmsReceivableFeeItems.forEach(kItem -> {
+// kItem.setHeadId(tmsReceivableFee.getId());
+// });
+// tmsReceivableFeeItemService.insertTmsReceivableFeeItemBatch(tmsReceivableFeeItems);
+// });
+ return AjaxResult.success();
+ }
+
+ @Override
+ public AjaxResult generateTmsDispatchOrder(List<Integer> ids) {
+ List<TmsDispatchOrder> tmsDispatchOrders = initGenerate(ids);
+ List<TmsDispatchOrder> collect1 = tmsDispatchOrders.stream().filter(item -> item.getIsCustoms() == 0 && item.getCustomsServiceProviderId() == null).collect(Collectors.toList());
+ if (!collect1.isEmpty()){
+ String disNos = collect1.stream().map(TmsDispatchOrder::getDispatchNo).collect(Collectors.joining(","));
+ return AjaxResult.error("璋冨害鍗�"+disNos+"鏈ˉ鍏呭鎵樻姤鍏充俊鎭�");
+ }
+ List<TmsDispatchOrder> collect2 = tmsDispatchOrders.stream().filter(item -> item.getIsLoad() == 0 && item.getLoadingServiceProviderId() == null).collect(Collectors.toList());
+ if (!collect2.isEmpty()){
+ String disNos = collect2.stream().map(TmsDispatchOrder::getDispatchNo).collect(Collectors.joining(","));
+ return AjaxResult.error("璋冨害鍗�"+disNos+"鏈ˉ鍏呰鍗歌揣淇℃伅");
+ }
+ List<TmsDispatchOrder> receivableList = tmsDispatchOrders.stream().filter(item -> item.getAccountsReceivableStatus() == 0).collect(Collectors.toList());
+ if (!receivableList.isEmpty()){
+ List<TmsDispatchOrder> collect = receivableList.stream().map(item -> {
+ TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder();
+ tmsDispatchOrder.setId(item.getId());
+ tmsDispatchOrder.setAccountsReceivableStatus(1);
+ tmsDispatchOrder.setCollectionPlanId(item.getCollectionPlanId());
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ return tmsDispatchOrder;
+ }).collect(Collectors.toList());
+ // 1銆佷慨鏀硅皟搴�
+ tmsDispatchOrderMapper.updateTmsDispatchOrderBatch(collect);
+ // 2銆佺敓鎴愬簲鏀惰处鍗�
+ List<TmsFinance> tmsFinances = BeanUtil.copyToList(receivableList, TmsFinance.class);
+ tmsFinances.forEach(item ->{
+ item.setSystemCode(systemDataNoService.getNoByKey(SystemDataNoEnum.YSD));
+ item.setPlanName(item.getCollectionPlanName());
+ item.setDispatchId(item.getId());
+ item.setCreateBy(SecurityUtils.getUsername());
+ item.setCreateTime(new Date());
+ item.setUpdateBy(SecurityUtils.getUsername());
+ item.setUpdateTime(new Date());
+ item.setStatus(0);
+ item.setType(0);
+ item.setTotalAmount(item.getCollectionPlanAmount());
+ });
+ tmsFinanceService.insertTmsFinanceYFBatch(tmsFinances);
+ }
+
+ List<TmsDispatchOrder> playList = tmsDispatchOrders.stream().filter(item -> item.getAccountsPayableStatus() == 0).collect(Collectors.toList());
+ if (!playList.isEmpty()){
+ List<TmsDispatchOrder> collect = playList.stream().map(item -> {
+ TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder();
+ tmsDispatchOrder.setId(item.getId());
+ tmsDispatchOrder.setAccountsPayableStatus(1);
+ tmsDispatchOrder.setPaymentPlanId(item.getPaymentPlanId());
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ return tmsDispatchOrder;
+ }).collect(Collectors.toList());
+ // 1銆佷慨鏀硅皟搴�
+ tmsDispatchOrderMapper.updateTmsDispatchOrderBatch(collect);
+ // 2銆佺敓鎴愬簲浠樿处鍗�
+ List<TmsFinance> tmsFinances = BeanUtil.copyToList(receivableList, TmsFinance.class);
+ tmsFinances.forEach(item ->{
+ item.setSystemCode(systemDataNoService.getNoByKey(SystemDataNoEnum.YFD));
+ item.setPlanName(item.getPaymentPlanName());
+ item.setDispatchId(item.getId());
+ item.setCreateBy(SecurityUtils.getUsername());
+ item.setCreateTime(new Date());
+ item.setUpdateBy(SecurityUtils.getUsername());
+ item.setUpdateTime(new Date());
+ item.setStatus(0);
+ item.setType(1);
+ item.setTotalAmount(item.getPaymentPlanAmount());
+ });
+ tmsFinanceService.insertTmsFinanceYFBatch(tmsFinances);
+
+ }
+
+ return AjaxResult.success();
+ }
+
+
+ @Override
+ public AjaxResult getServiceProvider(Integer id) {
+
+ TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.
+ selectTmsDispatchOrderById(id);
+ List<ServiceProviderVo> serviceProviderVos = new ArrayList<>();
+ if (tmsDispatchOrder != null){
+
+ if (tmsDispatchOrder.getLoadingServiceProviderId() != null){
+ serviceProviderVos.add(new ServiceProviderVo(tmsDispatchOrder.getLoadingServiceProviderId(),
+ tmsDispatchOrder.getLoadingServiceProviderName(),
+ "2"));
+ }
+ if (tmsDispatchOrder.getCustomsServiceProviderId() != null){
+ serviceProviderVos.add(new ServiceProviderVo(tmsDispatchOrder.getCustomsServiceProviderId(),
+ tmsDispatchOrder.getCustomsServiceProviderName(),
+ "1"));
+ }
+ if (tmsDispatchOrder.getVehicleProviderId() != null){
+ serviceProviderVos.add(new ServiceProviderVo(tmsDispatchOrder.getVehicleProviderId(),
+ tmsDispatchOrder.getVehicleProviderName(),
+ "0"));
+ }
+ // 鏌ヨ
+ List<TmsQuoteFee> tmsQuoteFees = tmsQuoteFeeService.selectTmsQuoteFeeList(new TmsQuoteFee() {{
+ setDispatchId(id);
+ }});
+ if (tmsQuoteFees != null && !tmsQuoteFees.isEmpty()){
+ List<ServiceProviderVo> collect = tmsQuoteFees.stream()
+ .collect(Collectors.collectingAndThen(
+ Collectors.toMap(
+ item -> item.getServiceProviderId() + "_" + item.getServiceProviderType(),
+ item -> new ServiceProviderVo(
+ item.getServiceProviderId(),
+ null,
+ item.getServiceProviderType()
+ ),
+ (a, b) -> a
+ ),
+ m -> new ArrayList<>(m.values())
+ ));
+
+ collect.forEach(item -> {
+ if ("0".equals(item.getServiceProviderType())){
+ TmsServiceProvider tmsServiceProvider = tmsServiceProviderMapper.selectTmsServiceProviderById(item.getServiceProviderId());
+ item.setServiceProviderName(tmsServiceProvider.getServiceName());
+ } else if ("1".equals(item.getServiceProviderType())){
+ TmsCustomsServiceProvider tmsCustomsServiceProvider = tmsCustomsServiceProviderMapper.selectTmsCustomsServiceProviderById(item.getServiceProviderId());
+ item.setServiceProviderName(tmsCustomsServiceProvider.getServiceName());
+ } else if ("2".equals(item.getServiceProviderType())){
+ TmsLoadingServiceProvider tmsLoadingServiceProvider = tmsLoadingServiceProviderMapper.selectTmsLoadingServiceProviderById(item.getServiceProviderId());
+ item.setServiceProviderName(tmsLoadingServiceProvider.getServiceName());
+ }
+ serviceProviderVos.add(item);
+ });
+ ArrayList<ServiceProviderVo> collect1 = serviceProviderVos.stream().collect(Collectors.collectingAndThen(
+ Collectors.toMap(
+ item -> item.getServiceProviderId() + "_" + item.getServiceProviderType(),
+ item -> new ServiceProviderVo(
+ item.getServiceProviderId(),
+ item.getServiceProviderName(),
+ item.getServiceProviderType()
+ ),
+ (a, b) -> a
+ ),
+ m -> new ArrayList<>(m.values())
+ ));
+ return AjaxResult.success(collect1);
+ }
+ }else{
+ return AjaxResult.error("璋冨害鍗曚笉瀛樺湪");
+ }
+ return AjaxResult.success();
+ }
}
--
Gitblit v1.8.0