Browse Source

bom求购

liusw 8 years ago
parent
commit
cc92fe8bcc

+ 5 - 21
src/main/java/com/uas/platform/b2c/trade/seek/dao/SeekPurchaseByBatchDao.java

@@ -1,38 +1,22 @@
 package com.uas.platform.b2c.trade.seek.dao;
 
+import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.trade.seek.model.SeekPurchaseByBatch;
 import java.util.List;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 /**
- * 求购临时表业务Dao
- *
  * @author liusw
- * @version 2017/12/12 16:48
+ * @version 2018/1/17 9:30
  */
 @Repository
-public interface SeekPurchaseByBatchDao extends JpaSpecificationExecutor<SeekPurchaseByBatch>,
-        JpaRepository<SeekPurchaseByBatch, Long> {
+public interface SeekPurchaseByBatchDao extends JpaSpecificationExecutor<SeekPurchaseByBatch>, JpaRepository<SeekPurchaseByBatch, Long> {
 
-    /**
-     * 根据bomId查询求购临时表信息
-     * @return
-     */
-    List<SeekPurchaseByBatch> findByBomId(Long bomId);
-
-    @Query(name = "delete from trade$seek_purchase_by_batch where id in (spIds)")
-    void batchDelete(List<String> spIds);
 
-    /**
-     * 根据bomId和spIds查询求购临时表的信息
-     * @param bomId
-     * @return
-     */
-//    @Query(name = "select * from trade$seek_purchase_by_batch where bom_id = :bomId and sp_id in (:id)", nativeQuery = true)
-//    List<SeekPurchaseByBatch> getInfo(@Param("bomId") Long bomId, @Param("id") List<String> ids);
+    List<SeekPurchaseByBatch> findByBomId(Long bomId);
 }
-

+ 0 - 1
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseOfferServiceImpl.java

@@ -18,7 +18,6 @@ import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;

+ 19 - 10
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseServiceImpl.java

@@ -35,8 +35,8 @@ import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -56,6 +56,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
@@ -81,6 +82,9 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
+    @Autowired
+    private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
+
     @Autowired
     private GoodsDao goodsDao;
 
@@ -481,14 +485,15 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
     public ResultMap confirmBom(Long bomId, String spIds) {
         SeekPurchaseBom seekPurchaseBom = seekPurchaseBomDao.findOne(bomId);
         List<SeekPurchaseByBatch> seekPurchaseByBatchList = null;
-//        if (!StringUtils.isEmpty(spIds)) {
-//            // 保存选中
-//           seekPurchaseByBatchList = seekPurchaseByBatchDao.getInfo(bomId, Arrays.asList(spIds.split(",")));
-//        } else {
-//            // 保存所有
-//            seekPurchaseByBatchList = seekPurchaseByBatchDao.findByBomId(bomId);
-//        }
-        seekPurchaseByBatchList = seekPurchaseByBatchDao.findByBomId(bomId);
+        if (!StringUtils.isEmpty(spIds)) {
+            // 保存选中
+            String sql = "select * from trade$seek_purchase_by_batch where bom_id = :bomId and sp_id in (:spIds)";
+            Map<String, Object> params = new HashMap<>();
+            seekPurchaseByBatchList = namedParameterJdbcTemplate.queryForList(sql, params, SeekPurchaseByBatch.class);
+        } else {
+            // 保存所有
+            seekPurchaseByBatchList = seekPurchaseByBatchDao.findByBomId(bomId);
+        }
         // 将临时表转换成正式表数据
         List<SeekPurchase> seekPurchaseList = new ArrayList<>();
         // 发布到正式表的临时数据
@@ -554,7 +559,11 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
 
     @Override
     public ResultMap deleteSeekPurchaseByBatch(String spIds) {
-        seekPurchaseByBatchDao.batchDelete(Arrays.asList(spIds.split(",")));
+        //seekPurchaseByBatchDao.batchDelete(Arrays.asList(spIds.split(",")));
+        String sql = "delete from trade$seek_purchase_by_batch where sp_id in (:spIds)";
+        Map<String, Object> param = new HashMap<>();
+        param.put("spIds", spIds);
+        namedParameterJdbcTemplate.update(sql, param);
         return ResultMap.success(null);
     }
 }