Browse Source

Merge branch 'zx-2023-04-13' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 years ago
parent
commit
1c141e8857

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.page.GoodsQuery;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -197,4 +198,5 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      */
     Integer getReplacementInstrumentCount(Map<String, Object> params);
 
+    BigDecimal getOrganCostPrice(@Param("complementGoodsIdList") String complementGoodsIdList);
 }

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -522,10 +522,14 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 					}else if(StockType.EXTERNAL.equals(goods.getStockType())||(StockType.ALL.equals(goods.getStockType())&&AccountType.EXTERNAL.equals(accountType))){
 						sellOrder.setStockType(StockType.EXTERNAL);
 					}
+					if(StringUtils.isNotEmpty(goods.getComplementGoodsIdList())){
+						sellOrder.setOrganSellCost(goodsDao.getOrganCostPrice(goods.getComplementGoodsIdList()));
+					}else {
+						sellOrder.setOrganSellCost(goods.getOrganCostPrice());
+					}
 					sellOrder.setGoodsName(goods.getName());
 					sellOrder.setAccountType(accountType);
 					sellOrder.setBatchNo(batchNoGoodsIdMapEntry.getKey());
-					sellOrder.setOrganSellCost(goods.getOrganCostPrice());
 					GoodsProcurement goodsProcurement = goodsProcurementDao.getWithGoodsAndBatchNo(sellOrder.getGoodsId(), sellOrder.getBatchNo());
 					sellOrder.setSellCost(goodsProcurement.getDiscountPrice());
 					Map<String, BigDecimal> CostMap = new HashMap<>();
@@ -556,7 +560,11 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 				sellOrder.setGoodsName(goods.getName());
 				sellOrder.setAccountType(accountType);
 				sellOrder.setBatchNo(goodsProcurement.getBatchNo());
-				sellOrder.setOrganSellCost(goods.getOrganCostPrice());
+				if(StringUtils.isNotEmpty(goods.getComplementGoodsIdList())){
+					sellOrder.setOrganSellCost(goodsDao.getOrganCostPrice(goods.getComplementGoodsIdList()));
+				}else {
+					sellOrder.setOrganSellCost(goods.getOrganCostPrice());
+				}
 				if(Objects.nonNull(goodsProcurement.getBatchNo())){
 					sellOrder.setSellCost(goodsProcurement.getDiscountPrice());
 					Map<String, BigDecimal> CostMap = new HashMap<>();

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -548,6 +548,9 @@
         <include refid="replacementQuerySql"/>
         <include refid="global.limit"/>
     </select>
+    <select id="getOrganCostPrice" resultType="java.math.BigDecimal">
+        select SUM(organ_cost_price_) from goods where FIND_IN_SET(id_,#{complementGoodsIdList});
+    </select>
 
     <sql id="replacementQuerySql">
         <where>