|
@@ -6,6 +6,7 @@ import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
@@ -234,12 +235,36 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
|
|
|
if (vo.getUserAddress() != null && !isCheckAddress) {
|
|
if (vo.getUserAddress() != null && !isCheckAddress) {
|
|
|
vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
|
|
vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (filter.contains("countGoods")) {
|
|
|
|
|
+ List<Long> orderIds = erpList.stream()
|
|
|
|
|
+ .map(FsStoreOrderErpExportVO::getOrderId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ if (orderIds.size() > 0) {
|
|
|
|
|
+ List<Map<String, Object>> orderItemList =
|
|
|
|
|
+ fsStoreOrderMapper.selectOrderItemsByOrderIds(orderIds);
|
|
|
|
|
+
|
|
|
|
|
+ Map<Long, List<Map<String, Object>>> groupByOrderId = orderItemList.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(it -> Long.valueOf(it.get("order_id").toString())));
|
|
|
|
|
|
|
|
- if (StringUtils.isNotEmpty(vo.getCountGoods())){
|
|
|
|
|
- JSONObject jsonInfo = JSONObject.parseObject(vo.getCountGoods());
|
|
|
|
|
- vo.setCountGoods(jsonInfo.getString("productName") + "*" + vo.getGoodsNum());
|
|
|
|
|
|
|
+ for (FsStoreOrderErpExportVO vo : erpList) {
|
|
|
|
|
+ List<Map<String, Object>> items = groupByOrderId.get(vo.getOrderId());
|
|
|
|
|
+
|
|
|
|
|
+ if (items != null) {
|
|
|
|
|
+ String goods = items.stream()
|
|
|
|
|
+ .map(item -> {
|
|
|
|
|
+ JSONObject jsonInfo = JSONObject.parseObject(item.get("json_info").toString());
|
|
|
|
|
+ return jsonInfo.getString("productName") + "*" + jsonInfo.getString("num");
|
|
|
|
|
+ })
|
|
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
|
|
+ vo.setCountGoods(goods);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 动态导出:根据选中的字段生成Excel
|
|
// 动态导出:根据选中的字段生成Excel
|