Browse Source

批量求购修改

liusw 8 years ago
parent
commit
f895144804

+ 38 - 14
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -1,5 +1,10 @@
 package com.uas.platform.b2c.trade.order.service.impl;
 
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.BUYER_TO_MALL;
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.MALL_TO_SUP;
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.SUP_TO_MALL;
+import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
+
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.b2c_erp.buyer.model.B2cOrder;
@@ -34,7 +39,12 @@ import com.uas.platform.b2c.logistics.dao.AddressDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFOrderDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFPurchaseDao;
 import com.uas.platform.b2c.logistics.dao.PickUpAddressDao;
-import com.uas.platform.b2c.logistics.model.*;
+import com.uas.platform.b2c.logistics.model.Address;
+import com.uas.platform.b2c.logistics.model.InvoiceFOrder;
+import com.uas.platform.b2c.logistics.model.InvoiceFOrderDetail;
+import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
+import com.uas.platform.b2c.logistics.model.InvoiceFPurchaseDetail;
+import com.uas.platform.b2c.logistics.model.PickUpAddress;
 import com.uas.platform.b2c.logistics.service.InvoiceFPurchaseService;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
@@ -59,7 +69,14 @@ import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
 import com.uas.platform.b2c.trade.order.dao.OrderIndexDetailDao;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
-import com.uas.platform.b2c.trade.order.model.*;
+import com.uas.platform.b2c.trade.order.model.Order;
+import com.uas.platform.b2c.trade.order.model.OrderDetail;
+import com.uas.platform.b2c.trade.order.model.OrderIndex;
+import com.uas.platform.b2c.trade.order.model.OrderIndexDetail;
+import com.uas.platform.b2c.trade.order.model.OrderSimpleInfo;
+import com.uas.platform.b2c.trade.order.model.Purchase;
+import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
+import com.uas.platform.b2c.trade.order.model.TradeProofing;
 import com.uas.platform.b2c.trade.order.service.OrderDetailService;
 import com.uas.platform.b2c.trade.order.service.OrderService;
 import com.uas.platform.b2c.trade.order.service.PurchaseService;
@@ -89,6 +106,22 @@ import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.model.BaseOrder;
 import com.uas.search.model.PageParams;
 import com.uas.search.model.SPage;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -102,15 +135,6 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.*;
-
-import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.*;
-import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
-
 /**
  * 订单业务实现类
  *
@@ -780,9 +804,9 @@ public class OrderServiceImpl implements OrderService {
                 uuids.add(orderDetail1.getUuid());
                 qty = NumberUtil.add(qty, orderDetail1.getNumber());
                 // 调用修改求购信息
-                if (spId != null) {
-                    seekPurchaseService.confirmSeekPurchase(spId, orderDetail1.getNumber());
-                }
+//                if (spId != null) {
+//                    seekPurchaseService.confirmSeekPurchase(spId, orderDetail1.getNumber());
+//                }
                 newOrderDetails.add(orderDetail1);
             }
             /**

+ 2 - 3
src/main/java/com/uas/platform/b2c/trade/seek/controller/SeekPurchaseController.java

@@ -137,8 +137,7 @@ public class SeekPurchaseController {
      * @param spId 求购id
      */
     @RequestMapping(value = "/getMallGoodsList", method = RequestMethod.GET)
-    public List<Goods> getMallGoodsList(Long spId) {
-        logger.log("求购", "获取商城现货,spId:" + spId);
-        return seekPurchaseService.getMallGoodsList(spId);
+    public List<Goods> getMallGoodsList(String code, String brand) {
+        return seekPurchaseService.getMallGoodsList(code, brand);
     }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/seek/service/SeekPurchaseService.java

@@ -74,7 +74,7 @@ public interface SeekPurchaseService {
      * @param spId
      * @return
      */
-    List<Goods> getMallGoodsList(Long spId);
+    List<Goods> getMallGoodsList(String code, String brand);
 
     /**
      * 确认付款后 更新求购信息

+ 11 - 9
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseBomServiceImpl.java

@@ -232,7 +232,7 @@ public class SeekPurchaseBomServiceImpl implements SeekPurchaseBomService{
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                 Date deadlineDate = sdf.parse(deadline);
                 if (deadlineDate.getTime() < System.currentTimeMillis()) {
-                    seekPurchaseByBatch.setDeadline(DateUtils.addTime(new Date(), 1, 23, 59,59));
+                    seekPurchaseByBatch.setDeadline(DateUtils.addTime(new Date(), 0, 23, 59,59));
                 } else {
                     seekPurchaseByBatch.setDeadline(DateUtils.addTime(deadlineDate));
                 }
@@ -248,10 +248,9 @@ public class SeekPurchaseBomServiceImpl implements SeekPurchaseBomService{
         if (!StringUtils.isEmpty(amountValue)) {
             try {
                 Double amount = Double.valueOf(StringUtilB2C.replaceLineBreak(StringUtilB2C.getStr(amountValue)));
-                if (amount <= 0) {
-                    amount = 1d;
-                } else if (amount >= 100000000){
-                    amount = 99999999d;
+                int amountInt = amount.intValue();
+                if (amount <= 0 || amount >= 100000000 || amountInt != amount) {
+                    amount = null;
                 }
                 seekPurchaseByBatch.setAmount(amount);
             } catch (NumberFormatException e) {
@@ -277,10 +276,8 @@ public class SeekPurchaseBomServiceImpl implements SeekPurchaseBomService{
         if (!StringUtils.isEmpty(unitPriceValue)) {
             try {
                 Double unitPrice = Double.valueOf(StringUtilB2C.replaceLineBreak(StringUtilB2C.getStr(unitPriceValue)));
-                if (unitPrice <= 0) {
-                    unitPrice = 1d;
-                } else if (unitPrice >= 10000) {
-                    unitPrice = 9999d;
+                if (unitPrice <= 0 || unitPrice >= 10000) {
+                    unitPrice = null;
                 }
                 seekPurchaseByBatch.setUnitPrice(unitPrice);
             } catch (NumberFormatException e) {
@@ -407,6 +404,9 @@ public class SeekPurchaseBomServiceImpl implements SeekPurchaseBomService{
     @Override
     public ResultMap confirmBom(Long bomId, User user) {
         SeekPurchaseBom seekPurchaseBom = seekPurchaseBomDao.findOne(bomId);
+        if (seekPurchaseBom == null) {
+            return new ResultMap(CodeType.NOT_PERMIT, "请勿重复发布");
+        }
         PurcInquiry inquiry = new PurcInquiry();
         List<SeekPurchaseByBatch> seekPurchaseByBatchList = seekPurchaseByBatchDao.findByBomId(bomId);
         // 商城现货的数量
@@ -479,6 +479,8 @@ public class SeekPurchaseBomServiceImpl implements SeekPurchaseBomService{
         } catch (Exception e) {
             throw new IllegalOperatorException("发布失败");
         }
+        // 删除bom的临时数据
+        seekPurchaseBomDao.delete(seekPurchaseBom.getId());
         Map<String, Object> result = new HashMap<>();
         result.put("successAmount", inquiryItems.size());
         result.put("goodsAmount", haveGoodsCount);

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

@@ -231,9 +231,8 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
     }
 
     @Override
-    public List<Goods> getMallGoodsList(Long spId) {
-        SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
-        return goodsDao.getGoodsByCodeAndName(seekPurchase.getCode(), seekPurchase.getBrand());
+    public List<Goods> getMallGoodsList(String code, String brand) {
+        return goodsDao.getGoodsByCodeAndName(code, brand);
     }
 
     @Override

+ 17 - 17
src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js

@@ -56,19 +56,17 @@ define(['app/app'], function (app) {
                     });
                   } else if($scope.tab == 'offered') {
                     param._state = "done";
-                    var filter = {};
                     if ($scope.userInfo.enterprise) {
                       param.enUU = $scope.userInfo.enterprise.uu;
                     }
                     param.userUU = $scope.userInfo.userUU;
                     // param.isMallGoods = $scope.isMallGoods;
                     // param.deadline = $scope.deadline;
-                    filter.keyword = $scope.keyWord;
-                    filter.fromDate = $scope.startDate
+                    param.keyword = $scope.keyWord;
+                    param.fromDate = $scope.startDate
                         ? $scope.startDate.getTime() : null;
-                    filter.endDate = $scope.endDate ? $scope.endDate.getTime()
+                    param.endDate = $scope.endDate ? $scope.endDate.getTime()
                         : null;
-                    param.filter = filter;
                     seekPurchase.getUserSeekPageInfoByStatus(param, function (data) {
                       params.total(data.totalElements);
                       $defer.resolve(data.content);
@@ -300,9 +298,7 @@ define(['app/app'], function (app) {
               var inquiry = {};
               var inquiryItem = {};
 
-              if ($scope.userInfo.enterprise) {
-                inquiry.enUU = $scope.userInfo.enterprise.uu;
-              }
+
               inquiry.recorderUU = $scope.userInfo.userUU;
               inquiry.code = "MALL" + $filter('date')(new Date, 'yyyyMMddsss');
               inquiry.date = new Date();
@@ -313,7 +309,12 @@ define(['app/app'], function (app) {
               inquiryItem.prodTitle = $scope.applyObj.code;
               inquiryItem.userUU = $scope.userInfo.userUU;
               inquiryItem.source = "MALL";
-              inquiryItem.userName = $scope.userInfo.userName;
+              if ($scope.userInfo.enterprise) {
+                inquiry.enUU = $scope.userInfo.enterprise.uu;
+                inquiryItem.userName = $scope.userInfo.enterprise.enName;
+              } else {
+                inquiryItem.userName = $scope.userInfo.userName;
+              }
               inquiryItem.userTel = $scope.userInfo.userTel;
               inquiryItem.needquantity = $scope.applyObj.amount;
               inquiryItem.inbrand = $scope.applyObj.brand;
@@ -432,8 +433,11 @@ define(['app/app'], function (app) {
           $scope.currentSeek = {};
           $scope.setSeekStatus = function (seek, status) {
             $scope.offerCount = seek.offerAmount;
-            $scope.goodsCount = 0;
             $scope.currentSeek = seek;
+            seekPurchase.getMallGoodsList({code:seek.cmpCode, brand: seek.inbrand}, function (data) {
+              $scope.goods = data;
+              $scope.goodsCount = data.length;
+            });
             // 查看报价
             if (status == 2 && $scope.offerCount != 0) {
               // seekPurchase.getSeekPurchaseOfferPageInfo(
@@ -447,13 +451,9 @@ define(['app/app'], function (app) {
               clearSeekStatus();
               seek.$status = status;
             } else if (status == 1 && $scope.goodsCount != 0) {// 查看现货
-              seekPurchase.getMallGoodsList({spId: seek.spId}, function (data) {
-                $scope.goods = data;
-                $scope.goodsCount = data.length;
-                clearSeekStatus();
-                initFragments();
-                seek.$status = status;
-              });
+              clearSeekStatus();
+              initFragments();
+              seek.$status = status;
             } else if (status == 0) { // 收起
               seek.$status = status;
             }

+ 9 - 7
src/main/webapp/resources/view/usercenter/forstore/bomDetail.html

@@ -509,23 +509,25 @@
             <thead>
             <tr>
                 <th width="165">发布时间</th>
-                <th width="206">型号</th>
+                <th width="125">型号</th>
                 <th width="169">品牌</th>
                 <th width="93">采购数量</th>
                 <th width="78">单价预算</th>
                 <th width="70">封装</th>
                 <th width="105">生产日期</th>
                 <th width="123">截止时间</th>
-                <!--
                 <th width="81">
+                    <!--
                     <select class="select-adder form-control" ng-model="searchStatus" ng-change="onSearch(searchStatus)">
                         <option value="0">全部</option>
                         <option value="200">待报价</option>
                         <option value="201">已报价</option>
                         <option value="202">已采纳</option>
                     </select>
+                    -->
                     状态
                 </th>
+                <!--
                 <th width="92">操作</th>
                 -->
             </tr>
@@ -543,12 +545,12 @@
                 <td ng-bind="seek.produceDate || '-'" title="{{seek.produceDate}}">2012-12-12</td>
                 <td class="left-time" ng-if="seek.remainingTime > 0">剩余&nbsp;<span ng-bind="getDay(seek.remainingTime)" ng-if="getDay(seek.remainingTime) > 0" class="red-text"></span><i ng-if="getDay(seek.remainingTime) > 0">&nbsp;天&nbsp;</i><span ng-if="getDay(seek.remainingTime) <= 0" ng-bind="getHours(seek.remainingTime)" class="red-text">5</span><i ng-if="getDay(seek.remainingTime) <= 0">&nbsp;小时</i></td>
                 <td class="left-time" ng-if="seek.remainingTime <= 0"><span style="color: red;">已截止</span></td>
-                <!--
-                <td ng-switch="seek.status">
-                    <span ng-switch-when="200" style="color:red;">待报价</span>
-                    <span ng-switch-when="201">已报价</span>
-                    <span ng-switch-when="202" style="color:green;">已采纳</span>
+                <td>
+                    <span ng-if="seek.offerAmount == 0" style="color:red;">待报价</span>
+                    <span ng-if="seek.offerAmount > 0">已报价</span>
+                    <!--<span ng-switch-when="202" style="color:green;">已采纳</span>-->
                 </td>
+                <!--
                 <td class="operate-seek">
                     <span ng-if="seek.offerAmount > 0" ng-show="!seek.$status || seek.$status == 0" ng-click="setSeekStatus(seek, 2)">查看报价&nbsp;<i class="fa fa-angle-double-down"></i></span>
                     <span ng-if="!seek.offerAmount && seek.goodsAmount>0" ng-show="!seek.$status || seek.$status == 0" ng-click="setSeekStatus(seek, 1)">查看现货&nbsp;<i class="fa fa-angle-double-down"></i></span>

+ 1 - 1
src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html

@@ -813,7 +813,7 @@
                 </td>
                 <td class="operate-seek">
                     <span ng-if="seek.offerAmount > 0" ng-show="!seek.$status || seek.$status == 0" ng-click="setSeekStatus(seek, 2)">查看报价&nbsp;<i class="fa fa-angle-double-down"></i></span>
-                    <!--<span ng-if="seek.offerAmount == 0 && seek.goodsAmount>0" ng-show="!seek.$status || seek.$status == 0" ng-click="setSeekStatus(seek, 1)">查看现货&nbsp;<i class="fa fa-angle-double-down"></i></span>-->
+                    <span ng-if="seek.goodsAmount > 0" ng-show="!seek.$status || seek.$status == 0" ng-click="setSeekStatus(seek, 1)">查看现货&nbsp;<i class="fa fa-angle-double-down"></i></span>
                     <span ng-show="seek.$status && (seek.$status == 1 || seek.$status == 2)" ng-click="setSeekStatus(seek, 0)">收起&nbsp;<i class="fa fa-angle-double-up"></i></span>
                 </td>
             </tr>