|
|
@@ -539,21 +539,39 @@ public class ProductServiceImpl implements ProductService {
|
|
|
*/
|
|
|
private List<Goods> exportGoodsByProduct(List<V_ProductPrivate> productList) {
|
|
|
List<Goods> resultList = new ArrayList<>();
|
|
|
+
|
|
|
+ Set<Long> exitGoodsOfProdIds = goodsDao.findProdIds(getProdIds(productList));
|
|
|
for (V_ProductPrivate product : productList) {
|
|
|
- List<Goods> goodsList = goodsDao.findByProductIdOrderByGoodsId(product.getId());
|
|
|
- if (!CollectionUtils.isEmpty(goodsList)) {
|
|
|
- //目前现在一颗物料只能存在一个在售产品,目前取id最大的在售产品信息
|
|
|
- Goods needGoods = goodsList.get(0);
|
|
|
- needGoods.setCostPrice(product.getPrice());
|
|
|
- resultList.add(needGoods);
|
|
|
- } else {
|
|
|
+ if (!exitGoodsOfProdIds.contains(product.getId())) {
|
|
|
Goods g = Goods.productConvertGoods(product);
|
|
|
resultList.add(g);
|
|
|
}
|
|
|
}
|
|
|
+ if (!CollectionUtils.isEmpty(exitGoodsOfProdIds)) {
|
|
|
+ String prodIdsStr = org.apache.commons.lang3.StringUtils.join(exitGoodsOfProdIds, ",");
|
|
|
+ String sql = new String("SELECT go_batchcode batchCode,br_name_en brandNameEn,ki_name kindNameCn," +
|
|
|
+ "cmp_code code,go_spec spec,go_packaging packaging,go_mindelivery minDelivery,go_maxdelivery maxDelivery," +
|
|
|
+ "go_isbreakup breakUp,go_minpackqty minPackQty,go_minbuyqty minBuyQty,go_storeid storeid,go_reserve reserve," +
|
|
|
+ "go_status status,cmp_uuid uuid,go_qtyprice qtyPrice,go_minpricermb minPriceRMB,go_maxpricermb maxPriceRMB," +
|
|
|
+ "go_minpriceusd minPriceUSD,go_maxpriceusd maxPriceUSD,cr_name currencyName,pr_price costPrice " +
|
|
|
+ "FROM trade$goods g LEFT JOIN v$product$private on pr_id=go_productid WHERE go_id IN (SELECT max(go_id) " +
|
|
|
+ "from trade$goods WHERE go_productid in (" + prodIdsStr + ") GROUP BY go_productid)");
|
|
|
+ List<Goods> goodsList = commonDao.query(sql, Goods.class);
|
|
|
+ resultList.addAll(goodsList);
|
|
|
+ }
|
|
|
return resultList;
|
|
|
}
|
|
|
|
|
|
+ private Set<Long> getProdIds(List<V_ProductPrivate> productList) {
|
|
|
+ Set<Long> prodIds = new HashSet<>();
|
|
|
+ if (!CollectionUtils.isEmpty(productList)) {
|
|
|
+ for (V_ProductPrivate productPrivate : productList) {
|
|
|
+ prodIds.add(productPrivate.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return prodIds;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Goods> getSelectedProducts(String idList) {
|
|
|
String[] idArray = idList.split(SplitChar.COMMA);
|