|
@@ -1,6 +1,7 @@
|
|
|
package com.sckw.transport.service;
|
|
package com.sckw.transport.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
@@ -87,6 +88,9 @@ public class KwtWaybillManagementV1Service {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
public KwtWaybillOrderSubtaskMapper waybillOrderSubtaskMapper;
|
|
public KwtWaybillOrderSubtaskMapper waybillOrderSubtaskMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ public KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
KwtWaybillOrderTicketService kwtWaybillOrderTicketService;
|
|
KwtWaybillOrderTicketService kwtWaybillOrderTicketService;
|
|
|
|
|
|
|
@@ -150,9 +154,11 @@ public class KwtWaybillManagementV1Service {
|
|
|
public HttpResult findNdexPage(WaybillListAppDTO query) {
|
|
public HttpResult findNdexPage(WaybillListAppDTO query) {
|
|
|
// 运单创建人或有关授权用户
|
|
// 运单创建人或有关授权用户
|
|
|
List<Long> userIds = LoginUserHolder.getAuthUserIdList();
|
|
List<Long> userIds = LoginUserHolder.getAuthUserIdList();
|
|
|
|
|
+ String queryWstatus = Objects.requireNonNull(CarWaybillAppEnum.getRemark(query.getStatus())).getValue();
|
|
|
WaybillOrderQueryDto queryDto = new WaybillOrderQueryDto();
|
|
WaybillOrderQueryDto queryDto = new WaybillOrderQueryDto();
|
|
|
|
|
+ query.setStatus(null);
|
|
|
BeanUtil.copyProperties(query, queryDto);
|
|
BeanUtil.copyProperties(query, queryDto);
|
|
|
- queryDto.setQueryWstatus(Objects.requireNonNull(CarWaybillAppEnum.getRemark(query.getStatus())).getValue());
|
|
|
|
|
|
|
+ queryDto.setQueryWstatus(queryWstatus);
|
|
|
queryDto.setEntId(LoginUserHolder.getEntId());
|
|
queryDto.setEntId(LoginUserHolder.getEntId());
|
|
|
queryDto.setUserIds(userIds);
|
|
queryDto.setUserIds(userIds);
|
|
|
/*数据查询**/
|
|
/*数据查询**/
|
|
@@ -162,42 +168,44 @@ public class KwtWaybillManagementV1Service {
|
|
|
Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.UNIT_TYPE.getType()));
|
|
Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.UNIT_TYPE.getType()));
|
|
|
Map<String, String> unitMap = CollectionUtils.isNotEmpty(dict) ? dict.get(DictTypeEnum.UNIT_TYPE.getType()) : new HashMap<>(NumberConstant.SIXTEEN);
|
|
Map<String, String> unitMap = CollectionUtils.isNotEmpty(dict) ? dict.get(DictTypeEnum.UNIT_TYPE.getType()) : new HashMap<>(NumberConstant.SIXTEEN);
|
|
|
|
|
|
|
|
- //企业ID
|
|
|
|
|
- List<Long> entIds = list.stream().map(WaybillOrderSelectVo::getEntId).toList();
|
|
|
|
|
- Map<Long, EntCacheResDto> ents = remoteSystemService.queryEntCacheMapByIds(entIds);
|
|
|
|
|
-
|
|
|
|
|
- //用户
|
|
|
|
|
- userIds = list.stream().map(WaybillOrderSelectVo::getCreateBy).toList();
|
|
|
|
|
- List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
|
|
|
|
|
- Map<Long, UserCacheResDto> usersMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
|
|
- users.forEach(e -> usersMap.put(e.getId(), e));
|
|
|
|
|
-
|
|
|
|
|
//数据处理
|
|
//数据处理
|
|
|
List<Map<String, Object>> result = new ArrayList<>();
|
|
List<Map<String, Object>> result = new ArrayList<>();
|
|
|
for (WaybillOrderSelectVo waybillOrder:list) {
|
|
for (WaybillOrderSelectVo waybillOrder:list) {
|
|
|
- /*数据处理*/
|
|
|
|
|
- List<Map<String, Object>> trackList = new ArrayList<>();
|
|
|
|
|
- for (CarWaybillNdexTopEnum entity:CarWaybillNdexTopEnum.values()) {
|
|
|
|
|
- Map<String, Object> trackData = new HashMap<>(NumberConstant.SIXTEEN);
|
|
|
|
|
- //审核状态
|
|
|
|
|
- KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.findWaybillOrderTrackV1(waybillOrder.getWOrderId(), CarWaybillDetailEnum.IN_TRANSIT.getValue());
|
|
|
|
|
- trackData.put("statusName", entity.getName());
|
|
|
|
|
- trackData.put("operateStatus", track != null);
|
|
|
|
|
- trackData.put("operateTime", track != null ? DateUtils.format(track.getOperateTime(), DateUtils.FORMAT11) : null);
|
|
|
|
|
- trackList.add(trackData);
|
|
|
|
|
|
|
+ //运单地址信息
|
|
|
|
|
+ List<KwtWaybillOrderAddress> addresses = kwtWaybillOrderAddressMapper.findByAddresses(waybillOrder.getWOrderId(), null);
|
|
|
|
|
+ List<JSONObject> addressList = new ArrayList<>();
|
|
|
|
|
+ for (KwtWaybillOrderAddress address:addresses) {
|
|
|
|
|
+ //运单子单
|
|
|
|
|
+ KwtWaybillOrderSubtask subtask = waybillOrderSubtaskMapper.selectById(address.getWSubtaskId());
|
|
|
|
|
+ //物流订单商品信息
|
|
|
|
|
+ KwtLogisticsOrderGoods goods = logisticsOrderGoodsMapper.findByGoods(subtask != null ? subtask.getLOrderId() : null);
|
|
|
|
|
+ //榜单信息
|
|
|
|
|
+ KwtWaybillOrderTicket ticket = kwtWaybillOrderTicketMapper.findWaybillOrderTicketV2(address.getId(), subtask.getUnit());
|
|
|
|
|
+ //数据组装
|
|
|
|
|
+ JSONObject addressJson = new JSONObject();
|
|
|
|
|
+ addressJson.put("wAddressId", address.getId());
|
|
|
|
|
+ addressJson.put("addressType", address.getAddressType());
|
|
|
|
|
+ addressJson.put("addressName", address.getName());
|
|
|
|
|
+ addressJson.put("addressCityName", address.getCityName());
|
|
|
|
|
+ addressJson.put("addressDetail", address.getDetailAddress());
|
|
|
|
|
+ addressJson.put("planTime", DateUtils.format(address.getPlanTime(), DateUtils.FORMAT12));
|
|
|
|
|
+
|
|
|
|
|
+ addressJson.put("entrustAmount", address.getEntrustAmount());
|
|
|
|
|
+ addressJson.put("goodsName", goods != null ? goods.getGoodsName() : null);
|
|
|
|
|
+ addressJson.put("unit", subtask.getUnit());
|
|
|
|
|
+ addressJson.put("unitName", unitMap.get(subtask.getUnit()));
|
|
|
|
|
+ addressJson.put("amount", ticket != null ? ticket.getAmount() : null);
|
|
|
|
|
+ addressJson.put("urls", ticket != null ? ticket.getUrls() : null);
|
|
|
|
|
+ addressJson.put("operateStatus", ticket != null);
|
|
|
|
|
+ addressJson.put("operateTime", ticket != null ? DateUtils.format(address.getPlanTime(), DateUtils.FORMAT11) : null);
|
|
|
|
|
+ addressJson.put("approvalStatus", ticket != null ? ticket.getStatus() : null);
|
|
|
|
|
+ addressList.add(addressJson);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //子运单
|
|
|
|
|
- List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.findByWOrderId(waybillOrder.getWOrderId());
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
Map<String, Object> order = BeanUtil.beanToMap(waybillOrder);
|
|
Map<String, Object> order = BeanUtil.beanToMap(waybillOrder);
|
|
|
- order.put("createByName", usersMap.get(waybillOrder.getCreateBy()) != null ? usersMap.get(waybillOrder.getCreateBy()).getName() : null);
|
|
|
|
|
- order.put("firmName", ents.get(waybillOrder.getEntId()) != null ? ents.get(waybillOrder.getEntId()).getFirmName() : null);
|
|
|
|
|
order.put("statusLabel", CarWaybillEnum.getName(waybillOrder.getStatus()));
|
|
order.put("statusLabel", CarWaybillEnum.getName(waybillOrder.getStatus()));
|
|
|
- //order.put("unitLabel", unitMap.get(waybillOrder.getUnit()));
|
|
|
|
|
|
|
+ order.put("addresses", addressList);
|
|
|
order.put("typeLabel", waybillOrder.getType() == NumberConstant.ONE ? "趟次" : "循环");
|
|
order.put("typeLabel", waybillOrder.getType() == NumberConstant.ONE ? "趟次" : "循环");
|
|
|
- order.put("tracks", trackList);
|
|
|
|
|
result.add(order);
|
|
result.add(order);
|
|
|
}
|
|
}
|
|
|
|
|
|