|
|
@@ -29,10 +29,12 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
import com.sckw.transport.dao.*;
|
|
|
import com.sckw.transport.model.*;
|
|
|
import com.sckw.transport.model.param.LogisticsOrderQuery;
|
|
|
+import com.sckw.transport.model.param.ManagementContractParam;
|
|
|
import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
|
|
|
import com.sckw.transport.model.vo.CarWaybillVO;
|
|
|
-import com.sckw.transport.model.vo.ManagementLogsiticsOrderVO;
|
|
|
+import com.sckw.transport.model.vo.ManagementLogisticsOrderVO;
|
|
|
import com.sckw.transport.model.vo.OrderDetailVO;
|
|
|
+import com.sckw.transport.model.vo.SckwLogisticsOrderVO;
|
|
|
import com.sckw.transport.model.vo.execlVo.ManagementLogisticsOrderExcelVo;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
@@ -98,6 +100,10 @@ public class ManagementLogisticsOrderService {
|
|
|
* @return
|
|
|
*/
|
|
|
public PageRes selectLogisticsOrder(ManagementLogisticsOrderQuery query) {
|
|
|
+ List<Long> idsList = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(query.getIds())) {
|
|
|
+ idsList = StringUtils.splitStrToList(query.getIds(), Long.class);
|
|
|
+ }
|
|
|
Long entId = LoginUserHolder.getEntId();
|
|
|
PageHelper.startPage(query.getPage(), query.getPageSize());
|
|
|
List<Integer> orderList = new ArrayList<>();
|
|
|
@@ -134,8 +140,8 @@ public class ManagementLogisticsOrderService {
|
|
|
longs.add(LoginUserHolder.getUserId());
|
|
|
List<Long> longList = longs.stream().distinct().collect(Collectors.toList());
|
|
|
// LoginUserHolder.getIsMain()
|
|
|
- List<ManagementLogsiticsOrderVO> list = logisticsOrderMapper.selectManagementLogisticsOrderList(query, orderList, entId, longList, longList);
|
|
|
- PageInfo<ManagementLogsiticsOrderVO> pageInfo = new PageInfo<>(list);
|
|
|
+ List<ManagementLogisticsOrderVO> list = logisticsOrderMapper.selectManagementLogisticsOrderList(query, orderList, entId, longList, longList, idsList);
|
|
|
+ PageInfo<ManagementLogisticsOrderVO> pageInfo = new PageInfo<>(list);
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
return PageRes.build(pageInfo, list);
|
|
|
}
|
|
|
@@ -154,12 +160,12 @@ public class ManagementLogisticsOrderService {
|
|
|
// Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
|
|
|
Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
- List<Long> collect = list.stream().map(ManagementLogsiticsOrderVO::getCreateBy).collect(Collectors.toList());
|
|
|
+ List<Long> collect = list.stream().map(ManagementLogisticsOrderVO::getCreateBy).collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
longUserMap = remoteSystemService.queryUserCacheMapByIds(collect);
|
|
|
}
|
|
|
}
|
|
|
- for (ManagementLogsiticsOrderVO vo : list) {
|
|
|
+ for (ManagementLogisticsOrderVO vo : list) {
|
|
|
vo.setAccountsCycleLabel(settlementDictData.get(vo.getAccountsCycle()));
|
|
|
vo.setAppointor(longUserMap.get(vo.getCreateBy()) == null ? null : longUserMap.get(vo.getCreateBy()).getName());
|
|
|
vo.setBillingModeLabel(chargingDictData.get(vo.getBillingMode()));
|
|
|
@@ -244,6 +250,10 @@ public class ManagementLogisticsOrderService {
|
|
|
}
|
|
|
|
|
|
public List<ManagementLogisticsOrderExcelVo> exportLogisticsOrder(ManagementLogisticsOrderQuery query) {
|
|
|
+ List<Long> idsList = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(query.getIds())) {
|
|
|
+ idsList = StringUtils.splitStrToList(query.getIds(), Long.class);
|
|
|
+ }
|
|
|
Long entId = LoginUserHolder.getEntId();
|
|
|
// PageHelper.startPage(query.getPage(), query.getPageSize());
|
|
|
List<Integer> orderList = new ArrayList<>();
|
|
|
@@ -279,7 +289,7 @@ public class ManagementLogisticsOrderService {
|
|
|
List<Long> longs = LoginUserHolder.getAuthUserIdList();
|
|
|
longs.add(LoginUserHolder.getUserId());
|
|
|
List<Long> longList = longs.stream().distinct().collect(Collectors.toList());
|
|
|
- List<ManagementLogsiticsOrderVO> list = logisticsOrderMapper.selectManagementLogisticsOrderList(query, orderList, entId, longList, longList);
|
|
|
+ List<ManagementLogisticsOrderVO> list = logisticsOrderMapper.selectManagementLogisticsOrderList(query, orderList, entId, longList, longList, idsList);
|
|
|
/**计费方式*/
|
|
|
Map<String, String> chargingDictData = commonService.getDictData(DictTypeEnum.CHARGING_TYPE.getType());
|
|
|
/**结算周期*/
|
|
|
@@ -292,15 +302,16 @@ public class ManagementLogisticsOrderService {
|
|
|
Map<String, String> priceType = commonService.getDictData(DictTypeEnum.PRICE_TYPE.getType());
|
|
|
Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
- List<Long> collect = list.stream().map(ManagementLogsiticsOrderVO::getCreateBy).collect(Collectors.toList());
|
|
|
+ List<Long> collect = list.stream().map(ManagementLogisticsOrderVO::getCreateBy).collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
longUserMap = remoteSystemService.queryUserCacheMapByIds(collect);
|
|
|
}
|
|
|
}
|
|
|
List<ManagementLogisticsOrderExcelVo> exportList = new ArrayList<>();
|
|
|
- for (ManagementLogsiticsOrderVO vo : list) {
|
|
|
+ for (ManagementLogisticsOrderVO vo : list) {
|
|
|
ManagementLogisticsOrderExcelVo managementLogisticsOrderExcelVo = new ManagementLogisticsOrderExcelVo();
|
|
|
BeanUtils.copyProperties(vo, managementLogisticsOrderExcelVo);
|
|
|
+// managementLogisticsOrderExcelVo.setStatus(vo.getStatus().toString());
|
|
|
managementLogisticsOrderExcelVo.setPriceLabel(vo.getPrice() == null ? null : vo.getPrice().toString() + priceType.get(vo.getPriceType()));
|
|
|
managementLogisticsOrderExcelVo.setLossUnitLabel(vo.getLoss() == null ? null : vo.getLoss().toString() + taxRate.get(vo.getLossUnit()));
|
|
|
managementLogisticsOrderExcelVo.setGoodsPriceLabel(vo.getGoodsPrice() == null ? null : vo.getGoodsPrice().toString() + priceType.get(vo.getGoodsPriceUnit()));
|
|
|
@@ -311,37 +322,28 @@ public class ManagementLogisticsOrderService {
|
|
|
managementLogisticsOrderExcelVo.setStatusLabel(LogisticsOrderEnum.getName(vo.getStatus()));
|
|
|
managementLogisticsOrderExcelVo.setLoadAddress(vo.getLoadCityName() + vo.getLoadAddress());
|
|
|
managementLogisticsOrderExcelVo.setUnloadAddress(vo.getUnloadCityName() + vo.getUnloadAddress());
|
|
|
- if (vo.getTOrderId() != null) {
|
|
|
- OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.valueOf(vo.getTOrderId()));
|
|
|
- if (orderDetailRes != null) {
|
|
|
- List<UnitInfoDetailRes> unitInfo = orderDetailRes.getUnitInfo();
|
|
|
- for (UnitInfoDetailRes detailRes : unitInfo) {
|
|
|
- if (String.valueOf(NumberConstant.ONE).equals(detailRes.getUnitType())) {
|
|
|
- managementLogisticsOrderExcelVo.setShipmentsUnit(detailRes.getFirmName());
|
|
|
- } else {
|
|
|
- managementLogisticsOrderExcelVo.setReceiveGoodsUnit(detailRes.getFirmName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
BigDecimal subtract = vo.getCarryingCapacity().subtract(vo.getSubcontractAmount()).subtract(vo.getEntrustAmount());
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
managementLogisticsOrderExcelVo.setWaitDistributionAmount(subtract == null ? null : df.format(subtract));
|
|
|
String tOrderId = vo.getTOrderId();
|
|
|
if (StringUtils.isNotBlank(tOrderId)) {
|
|
|
- OrderDetailRes orderDetailById = tradeOrderInfoService.getOrderDetailById(Long.parseLong(tOrderId));
|
|
|
- if (orderDetailById != null) {
|
|
|
- List<UnitInfoDetailRes> unitInfo = orderDetailById.getUnitInfo();
|
|
|
- if (CollectionUtils.isNotEmpty(unitInfo)) {
|
|
|
- for (UnitInfoDetailRes detailRes : unitInfo) {
|
|
|
- if ("1".equals(detailRes.getUnitType())) {
|
|
|
- managementLogisticsOrderExcelVo.setReceiveGoodsUnit(detailRes.getFirmName());
|
|
|
- }
|
|
|
- if ("2".equals(detailRes.getUnitType())) {
|
|
|
- managementLogisticsOrderExcelVo.setShipmentsUnit(detailRes.getFirmName());
|
|
|
+ try {
|
|
|
+ OrderDetailRes orderDetailById = tradeOrderInfoService.getOrderDetailById(Long.parseLong(tOrderId));
|
|
|
+ if (orderDetailById != null) {
|
|
|
+ List<UnitInfoDetailRes> unitInfo = orderDetailById.getUnitInfo();
|
|
|
+ if (CollectionUtils.isNotEmpty(unitInfo)) {
|
|
|
+ for (UnitInfoDetailRes detailRes : unitInfo) {
|
|
|
+ if ("1".equals(detailRes.getUnitType())) {
|
|
|
+ managementLogisticsOrderExcelVo.setReceiveGoodsUnit(detailRes.getFirmName());
|
|
|
+ }
|
|
|
+ if ("2".equals(detailRes.getUnitType())) {
|
|
|
+ managementLogisticsOrderExcelVo.setShipmentsUnit(detailRes.getFirmName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("获取收发货单位异常:torderId{},错误信息:{}", tOrderId, e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
managementLogisticsOrderExcelVo.setSubcontractAmount(Objects.isNull(vo.getSubcontractAmount()) ? null : df.format(vo.getSubcontractAmount()) + priceType.get(vo.getPriceType()));
|
|
|
@@ -631,4 +633,40 @@ public class ManagementLogisticsOrderService {
|
|
|
PageResult result = PageResult.build(orderDto.getPage(), orderDto.getPageSize(), returnList.stream().count(), collect);
|
|
|
return HttpResult.ok(result);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ public HttpResult getLogisticsContract(ManagementContractParam contractParam) {
|
|
|
+ List<Long> contractIds = StringUtils.splitStrToList(contractParam.getContractIds(), Long.class);
|
|
|
+ List<SckwLogisticsOrderVO> list = logisticsOrderMapper.selectOrderListByContractId(null, null, contractIds);
|
|
|
+ List<SckwLogisticsOrderVO> returnList = new ArrayList<>();
|
|
|
+ /**计量单位*/
|
|
|
+ Map<String, String> dictResDtoMap = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
|
|
|
+ /**支付方式*/
|
|
|
+ Map<String, String> tradeTypeDictData = commonService.getDictData(DictTypeEnum.TRADE_TYPE.getType());
|
|
|
+ /**运价方式*/
|
|
|
+// Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
|
|
|
+ /**计费方式*/
|
|
|
+// Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
|
|
|
+ /**结算周期*/
|
|
|
+ Map<String, String> settlementDictData = commonService.getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
|
|
|
+ /**签约方式*/
|
|
|
+// Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
|
|
|
+ /**合理损耗*/
|
|
|
+ Map<String, String> taxRateTypeDictData = commonService.getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ for (SckwLogisticsOrderVO vo : list) {
|
|
|
+ vo.setPaymentLabel(vo.getPayment() == null ? null : tradeTypeDictData.get(vo.getPayment().toString()));
|
|
|
+ vo.setStatusLabel(LogisticsOrderEnum.getDestination(vo.getStatus()));
|
|
|
+ vo.setLossUnitLabel(vo.getLossUnit() == null ? null : taxRateTypeDictData.get(vo.getLossUnit()));
|
|
|
+ vo.setUnitLabel(vo.getUnit() == null ? null : dictResDtoMap.get(vo.getUnit()));
|
|
|
+ vo.setGoodsPriceUnitLabel(vo.getGoodsPriceUnit() == null ? null : dictResDtoMap.get(vo.getGoodsPriceUnit()));
|
|
|
+ vo.setSettlementCycleLabel(vo.getSettlementCycle() == null ? null : settlementDictData.get(vo.getSettlementCycle().toString()));
|
|
|
+ UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(vo.getCreateBy());
|
|
|
+ vo.setCreateByName(userCacheResDto == null ? null : userCacheResDto.getName());
|
|
|
+ }
|
|
|
+ returnList = list.stream().skip((contractParam.getPage() - 1) * contractParam.getPageSize()).limit(contractParam.getPageSize()).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ PageResult build = PageResult.build(contractParam.getPage(), contractParam.getPageSize(), list.stream().count(), returnList);
|
|
|
+ return HttpResult.ok(build);
|
|
|
+ }
|
|
|
}
|