فهرست منبع

Merge branch 'release-201845-wangcz' into dev

wangcz 7 سال پیش
والد
کامیت
1868777588

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductPrivateService.java

@@ -48,4 +48,12 @@ public interface ProductPrivateService {
      * @return
      */
     List<ProductPrivate> newProductPrivateIfNotExist(List<Long> prIds);
+
+    /**
+     * 通过jdbcTemplate 批量存储物料私有信息
+     *
+     * @param privateList 商城私有物料
+     * @return 存储条数
+     */
+    Integer saveByJdbcTemplate(List<ProductPrivate> privateList);
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -326,8 +326,8 @@ public interface ProductService {
     List<Product> findProductsByProdNums(List<String> prodNums);
 
     /**
-     * 根物料标号,获取物料编号和物料id
      * @param prodNums  物料编号list
+     * 根物料标号,获取物料编号和物料id
      * @return 返回物料信息。
      */
     List<Product> findProductIdAndProdnumsByProdNums(List<String> prodNums);

+ 7 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ReleaseProductByBatchService.java

@@ -191,4 +191,11 @@ public interface ReleaseProductByBatchService {
      * @return Object
      */
     Object readWorkBookCell(Cell cell, int cellType, int r, int n);
+
+    /**
+     * 批量保存临时表信息
+     *
+     * @param releaseProductByBatchArrayList 临时表数据
+     */
+    void saveByJdbcTemplate(List<ReleaseProductByBatch> releaseProductByBatchArrayList);
 }

+ 29 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductPrivateServiceImpl.java

@@ -11,7 +11,11 @@ import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 商城私有字段的服务层
@@ -169,4 +173,28 @@ public class ProductPrivateServiceImpl implements ProductPrivateService {
             return productPrivateDao.save(productPrivate);
         }
     }
+
+    /**
+     * 通过jdbcTemplate 批量存储物料私有信息
+     *
+     * @param privateList 商城私有物料
+     * @return 存储条数
+     */
+    @Override
+    public Integer saveByJdbcTemplate(List<ProductPrivate> privateList) {
+        String insertSql = "insert IGNORE product$private(pr_b2cenabled, pr_batchcount, pr_id, pr_attach) values (?,?,?,?)";
+        System.out.println("私有库批量保存语句: " + insertSql);
+        int[][] size = new int[0][];
+        if (CollectionUtils.isNotEmpty(privateList)) {
+            size = jdbcTemplate.batchUpdate(insertSql,
+                    privateList, privateList.size(), (ps, t) -> {
+                        ps.setObject(1, t.getB2cEnabled());
+                        ps.setObject(2, t.getBatchCount());
+                        ps.setObject(3, t.getPrId());
+                        ps.setObject(4, t.getAttach());
+                    });
+            System.out.println(size);
+        }
+        return size[0][0];
+    }
 }

+ 93 - 2
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -17,7 +17,6 @@ import com.uas.platform.b2c.prod.commodity.constant.ModifyConstant;
 import com.uas.platform.b2c.prod.commodity.constant.ShortConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.controller.ReleaseProductByBatchController;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
 import com.uas.platform.b2c.prod.commodity.dao.PcbPropertyvalueDao;
@@ -104,7 +103,17 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+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.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.regex.Matcher;
@@ -2242,4 +2251,86 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	public void deleteAllInfo() {
 		releaseProductByBatchDao.deleteAll();
 	}
+
+	/**
+	 * 批量保存临时表信息
+	 *
+	 * @param releaseProductByBatchArrayList 临时表数据
+	 */
+	@Override
+	public void saveByJdbcTemplate(List<ReleaseProductByBatch> releaseProductByBatchArrayList) {
+        if (CollectionUtils.isNotEmpty(releaseProductByBatchArrayList)) {
+            jdbcTemplate.batchUpdate("insert INTO trade$releasebybatch(" +
+                            "rel_brandid,rel_brandcn,rel_branden,rel_breakup,rel_breakupstr,rel_code,rel_createdate,rel_currency,rel_encapsulation,rel_errmsg," +
+                            "rel_img,rel_maxpricermb,rel_maxpriceusd,rel_minbuyqty,rel_minbuyqtystr,rel_minpackpricestr,rel_minpackage,rel_minpackagestr,rel_minpricermb,rel_minpriceusd," +
+                            "rel_original,rel_packaging,rel_publishername,rel_publishertel,rel_publisheruu,rel_batchid,rel_releasecode,rel_releasestatus,rel_remark,rel_publishreserve," +
+                            "rel_publishreservestr,rel_returninweek,rel_rmbprice,rel_rmb_tax_rate,rel_sampleqty,rel_selfmaxdelivery,rel_selfmaxdeliverystr,rel_selfmindelivery,rel_selfmindeliverystr,rel_shiparea," +
+                            "rel_storename,rel_storeid,rel_unit,rel_usdprice,rel_usd_tax_rate,rel_b2cbrandcn,rel_b2cbranden,rel_b2ccode,rel_b2cuuid,rel_b2cbrandid," +
+                            "rel_b2cbranduuid,rel_b2ckindname,rel_b2ckindid,rel_tag,rel_tag_str,rel_spec) " +
+                            "values (?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?)",
+                    releaseProductByBatchArrayList, releaseProductByBatchArrayList.size(), (ps, t) -> {
+                        ps.setObject(1, t.getBrandId());
+                        ps.setObject(2, t.getB2cBrandcn());
+                        ps.setObject(3, t.getB2cBranden());
+                        ps.setObject(4, t.getBreakUp());
+                        ps.setObject(5, t.getBreakUpStr());
+                        ps.setObject(6, t.getCode());
+                        ps.setObject(7, t.getCreateDate());
+                        ps.setObject(8, t.getCurrency());
+                        ps.setObject(9, t.getEncapsulation());
+                        ps.setObject(10, t.getErrmsg());
+
+                        ps.setObject(11, t.getImg());
+                        ps.setObject(12, t.getMaxPriceRMB());
+                        ps.setObject(13, t.getMaxPriceUSD());
+                        ps.setObject(14, t.getMinBuyQty());
+                        ps.setObject(15, t.getMinBuyQtyStr());
+                        ps.setObject(16, t.getMinPackPriceStr());
+                        ps.setObject(17, t.getMinPackage());
+                        ps.setObject(18, t.getMinPackageStr());
+                        ps.setObject(19, t.getMinPriceRMB());
+                        ps.setObject(20, t.getMinPriceUSD());
+
+                        ps.setObject(21, t.getOriginal());
+                        ps.setObject(22, t.getPackaging());
+                        ps.setObject(23, t.getPublisherName());
+                        ps.setObject(24, t.getPublisherTel());
+                        ps.setObject(25, t.getPublisherUu());
+                        ps.setObject(26, t.getRelbatchid());
+                        ps.setObject(27, t.getReleaseCode());
+                        ps.setObject(28, t.getReleaseStatus());
+                        ps.setObject(29, t.getRemark());
+                        ps.setObject(30, t.getReserve());
+
+                        ps.setObject(31, t.getReserveStr());
+                        ps.setObject(32, t.getReturnInWeek());
+                        ps.setObject(33, t.getRmbMinPackPrice());
+                        ps.setObject(34, t.getRmbTaxRate());
+                        ps.setObject(35, t.getSampleqty());
+                        ps.setObject(36, t.getSelfMaxDelivery());
+                        ps.setObject(37, t.getSelfMaxDeliveryStr());
+                        ps.setObject(38, t.getSelfMinDelivery());
+                        ps.setObject(39, t.getSelfMinDeliveryStr());
+                        ps.setObject(40, t.getShipArea());
+
+                        ps.setObject(41, t.getStoreName());
+                        ps.setObject(42, t.getStoreid());
+                        ps.setObject(43, t.getUnit());
+                        ps.setObject(44, t.getUsdMinPackPrice());
+                        ps.setObject(45, t.getUsdTaxRate());
+                        ps.setObject(46, t.getB2cBrandcn());
+                        ps.setObject(47, t.getB2cBranden());
+                        ps.setObject(48, t.getB2cCode());
+                        ps.setObject(49, t.getComponentUuId());
+                        ps.setObject(50, t.getBrandId());
+
+                        ps.setObject(51, t.getBranduuid());
+                        ps.setObject(52, t.getKindName());
+                        ps.setObject(53, t.getKindUuid());
+                        ps.setObject(54, t.getTag());
+                        ps.setObject(55, t.getTagstr());
+                        ps.setObject(56, t.getSpec());
+                    });
+        }
+	}
 }

+ 16 - 19
src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseProductServiceImpl.java

@@ -10,21 +10,19 @@ import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
 import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.dao.ReleaseProductByBatchDao;
 import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
 import com.uas.platform.b2c.prod.commodity.model.ReleaseProductByBatch;
 import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.service.GoodsService;
+import com.uas.platform.b2c.prod.commodity.service.ProductPrivateService;
 import com.uas.platform.b2c.prod.commodity.service.ProductService;
 import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
 import com.uas.platform.b2c.prod.commodity.type.ProductConstant;
 import com.uas.platform.b2c.prod.commodity.util.SheetUtil;
 import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
-import com.uas.platform.b2c.prod.store.service.StoreInService;
+import com.uas.platform.b2c.prod.product.common.service.impl.CreateNumberServiceImpl;
 import com.uas.platform.b2c.trade.order.service.PurchaseProductService;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
@@ -75,20 +73,11 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
     @Autowired
     private ProductService productService;
 
-    @Autowired
-    private ProductPrivateDao productPrivateDao;
-
-    @Autowired
-    private ProductDao productDao;
-
     @Autowired
     private V_ProductPrivateDao v_productPrivateDao;
 
     @Autowired
-    private GoodsService goodsService;
-
-    @Autowired
-    private StoreInService storeInService;
+    private ProductPrivateService productPrivateService;
 
     /**
      * 物料服务访问路径
@@ -177,7 +166,7 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
                 }
                 // 保存临时表信息
             }
-            releaseProductByBatchDao.save(releaseProductByBatchArrayList);
+            releaseProductByBatchService.saveByJdbcTemplate(releaseProductByBatchArrayList);
             Long enUU = SystemSession.getUser().getEnterprise().getUu();
             // 验证数据信息是否重复
             releaseProductByBatchDao.callReleaseExistValidProcedure(batch, enUU);
@@ -191,6 +180,7 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
             Integer assignNumber = 0;
             // 去重后的数据
             List<ReleaseProductByBatch> uniqueBatchList = releaseProductByBatchDao.findByRelbatchidAndReleaseCodeNot(userUU, batch, failCode);
+            System.out.println("处理后数据大小: " + uniqueBatchList.size());
             if (!CollectionUtils.isEmpty(uniqueBatchList)) {
                 assignNumber = assignBatch(uniqueBatchList);
             }
@@ -350,6 +340,7 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
      */
     private Integer assignBatch(List<ReleaseProductByBatch> uniqueBatchList) {
         Set<Long> idSet = getProductIdSet(uniqueBatchList);
+        System.out.println("获取的物料id数量: " + idSet.size());
         if (CollectionUtils.isNotEmpty(idSet)) {
             HashMap<String, Object> params = new HashMap<>(5);
             ModelMap data = new ModelMap();
@@ -379,12 +370,18 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
         List<String> productCodeList = new ArrayList<>();
         Set<Long> idSet = new HashSet<>();
         List<ReleaseProductByBatch> batchList = new ArrayList<>();
+        String importNum = createNumberService.getTimeNumber("products", 8, uniqueBatchList.size());
+        if (StringUtils.isEmpty(importNum)) {
+            throw new IllegalOperatorException("生成批次号失败");
+        }
+        String time = importNum.substring(IntegerConstant.NO_SHORT, (IntegerConstant.TIME_LENGTH));
+        final Integer[] num = {Integer.valueOf(importNum.substring(IntegerConstant.TIME_LENGTH))};
         uniqueBatchList.forEach(batch -> {
             if (null != batch.getProductid()) {
                 idSet.add(batch.getProductid());
             } else {
                 if (StringUtilB2C.isEmpty(batch.getProductNum())) {
-                    String code = "PNUM" + StringUtilB2C.getRandomNumber(6);
+                    String code = "PNUM" + time + CreateNumberServiceImpl.formatIntToStr(++num[0], 8);
                     batch.setProductNum(code);
                 }
                 productCodeList.add(batch.getProductNum());
@@ -394,6 +391,7 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
         // 新增到物料库
         productService.saveByJdbcTemplate(batchList);
         List<com.uas.platform.b2c.prod.commodity.model.Product> productList = productService.findProductIdAndProdnumsByProdNums(productCodeList);
+        System.out.println("根据编号查询物料: " + productList.size());
         List<ProductPrivate> privateList = new ArrayList<>();
         productList.forEach(product -> {
             ProductPrivate productPrivate = new ProductPrivate(product.getId());
@@ -401,11 +399,10 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
             privateList.add(productPrivate);
             idSet.add(product.getId());
         });
-
         // 保存到私有库
         if (CollectionUtils.isNotEmpty(privateList)) {
-            productPrivateDao.save(privateList);
-            LOGGER.info("批量上传个人物料库,同步新增到商城私有库: " + privateList.size());
+            Integer count = productPrivateService.saveByJdbcTemplate(privateList);
+            LOGGER.info("批量上传个人物料库,同步新增到商城私有库: " + count);
         }
         return idSet;
     }

+ 1 - 1
src/main/webapp/resources/js/common/services.js

@@ -160,7 +160,7 @@ define([ 'angular', 'common/utils', 'big'], function(angular, utils, Big) {
                     } else if (this.getRootPath().indexOf('b2c.usoftchina.com') > -1 || this.getRootPath().indexOf('mall.usoftchina.com') > -1) {
                         $rootScope.b2bUrl = 'https://b2b.usoftchina.com'
 					} else {
-                        $rootScope.b2bUrl = 'http://10.1.51.101:8090/platform-b2b'
+                        $rootScope.b2bUrl = 'http://10.1.51.125:8090/platform-b2b/'
 					}
 				}
 				return $rootScope.b2bUrl;

+ 3 - 1
src/main/webapp/resources/js/usercenter/controllers/b2b/fa/arCheck.js

@@ -346,6 +346,8 @@
                               params.total(page.totalElement);
                               $defer.resolve(page.content);
                           }
+                          $scope.infoCommon = page
+                          $scope.infoCommon.all = page.content.length
                           $scope.ALLList = page.content || []
                           $scope.totalCount = page.totalElement;
                       }, function (response) {
@@ -611,7 +613,7 @@
                           data.totalCount = _totalArr
 
                           var _MonthTodoCountArr = []
-                          data.thisMonthTodoCount && list.thisMonthTodoCount.forEach(function(item) {
+                          data.thisMonthTodoCount && data.thisMonthTodoCount.forEach(function(item) {
                               if (item.amount > 0) {
                                   _MonthTodoCountArr.push(item)
                               }

+ 28 - 10
src/main/webapp/resources/js/vendor/controllers/b2b/apCheck.js

@@ -134,6 +134,8 @@ define(['app/app'], function (app) {
                           params.total(page.totalElement);
                           $defer.resolve(page.content);
                       }
+                      $scope.infoCommon = page
+                      $scope.infoCommon.all = page.content.length
                       $scope.ALLList = page.content
                       $scope.totalCount = page.totalElement;
                   }, function (response) {
@@ -409,7 +411,7 @@ define(['app/app'], function (app) {
                       data.totalCount = _totalArr
 
                       var _MonthTodoCountArr = []
-                      data.thisMonthTodoCount && list.thisMonthTodoCount.forEach(function(item) {
+                      data.thisMonthTodoCount && data.thisMonthTodoCount.forEach(function(item) {
                           if (item.amount > 0) {
                               _MonthTodoCountArr.push(item)
                           }
@@ -449,8 +451,8 @@ define(['app/app'], function (app) {
           if (angular.isDefined($scope.thisMouth)) {
               url = url + '&checkDate=' + $scope.thisMouth;
           }
-          if (angular.isDefined($scope.receiveName)) {
-              url = url + '&receiveName=' + $scope.receiveName;
+          if (angular.isDefined($scope.customerUU)) {
+              url = url + '&customerUU=' + $scope.customerUU;
           }
           if (angular.isDefined($scope.factory)) {
               url = url + '&factory=' + $scope.factory;
@@ -461,9 +463,6 @@ define(['app/app'], function (app) {
           if (angular.isDefined($scope.prodSpec)) {
               url = url + '&prodSpec=' + $scope.prodSpec;
           }
-          if (angular.isDefined($scope.suuorname)) {
-              url = url + '&suuorname=' + $scope.suuorname;
-          }
           if (angular.isDefined($scope.taxRate)) {
               url = url + '&taxRate=' + $scope.taxRate;
           }
@@ -589,7 +588,8 @@ define(['app/app'], function (app) {
                   taxrate: '',
                   sendcode: '',
                   whname: '',
-                  custUserUU: ''
+                  custUserUU: '',
+                  sourceDate: ''
               };
 
               //应收对账单明细行来源表信息
@@ -655,10 +655,10 @@ define(['app/app'], function (app) {
                   }
 
                   //获取筛选时间的开始时间为对账的开始时间
-                  $scope.apCheck.beginDate = $scope.fromDate;
+                  // $scope.apCheck.beginDate = $scope.fromDate;
 
                   //获取筛选的截止时间为对账的截止时间
-                  $scope.apCheck.endDate = $scope.endDate;
+                  // $scope.apCheck.endDate = $scope.endDate;
 
                   //应收对账单明细行数据
                   $scope.item.orderCode = check.ordercode;
@@ -682,7 +682,7 @@ define(['app/app'], function (app) {
                   $scope.item.sendcode = check.sendcode;
                   $scope.item.whname = check.whname;
                   $scope.item.custUserUU = check.custuseruu;
-
+                  $scope.item.sourceDate = check.pidate
                   //来源表相关信息
                   $scope.sourceInfo.sourceid = check.sourceid;
                   $scope.sourceInfo.sourcetable = check.sourcetable;
@@ -693,7 +693,25 @@ define(['app/app'], function (app) {
                   $scope.haveSelected = true;
               }
           });
+          if ($scope.apCheckCondition.$open) {
+              $scope.fromDate = $scope.apCheckCondition.dateFrom ? $scope.apCheckCondition.dateFrom.getTime() : null;
+              $scope.endDate = $scope.apCheckCondition.dateTo ? $scope.apCheckCondition.dateTo.getTime() : null;
+          } else {
+              var _isShowApcheckList = $scope.thisMouth + '-01'
+              var _time1 = _isShowApcheckList
+              _time1 = _time1.replace(/-/g, '/')
+              var _d = new Date(_time1)
+              _d.setDate(1)
+              _d.setMonth(_d.getMonth() + 1)
+              _d.setDate(_d.getDate() - 1)
 
+              // 获取筛选时间的开始时间为对账的开始时间
+              var _time2 = _isShowApcheckList
+              _time2 = _time2.replace(/-/g, '/')
+              $scope.fromDate = new Date(_time2).getTime()
+              // 获取筛选的截止时间为对账的截止时间
+              $scope.endDate = _d.getTime()
+          }
           //保存生成的应收对账单
           $scope.saveApCheck = function () {
               if ($scope.apCheck.items.length == 0) {

+ 37 - 26
src/main/webapp/resources/js/vendor/controllers/forstore/seek_purchase_ctrl.js

@@ -8,6 +8,7 @@ define(['app/app'], function (app) {
           $rootScope.active = 'vendor_seek_purchase';
           $scope.storeType = 'seekPurchase';
           $scope.seekPurchaseRate = {};
+          $scope.inquiryItem = {};
           $scope.sayType = 'current'; // 报价类型,current为当前,replace为替代料
             var _formatDate = function (date, fmt) {
                 if (!date) {
@@ -51,21 +52,22 @@ define(['app/app'], function (app) {
 
           seekPurchase.getSeekUrl({}, function(data) {
             var seekUrl = data.url;
-          var initInquiryItem = function () {
-            $scope.validSayPrice = {
-              leadtime: false,
-              repliesPrice: false,
-              repliesLapQty: false,
-              replaceBrand: false,
-              replaceCmpCode: false,
-              replaceSpec: true
-            };
-            $scope.inquiryItem = {};
-          }
-          init();
-          initInquiryItem();
+              var initInquiryItem = function () {
+                $scope.validSayPrice = {
+                  leadtime: false,
+                  taxrate: false,
+                  repliesPrice: false,
+                  repliesLapQty: false,
+                  replaceBrand: false,
+                  replaceCmpCode: false,
+                  replaceSpec: true
+                };
+              }
+              init();
+              initInquiryItem();
 
             $scope.setSayType = function (type) {
+                initInquiryItem();
               if (type == 'current') {
                 delete $scope.inquiryItem.replaceBrand;
                 delete $scope.inquiryItem.replaceCmpCode;
@@ -73,6 +75,7 @@ define(['app/app'], function (app) {
                 // $scope.inquiryItem.isReplace = null;
               }
               $scope.inquiryItem.leadtime = '';
+              $scope.inquiryItem.taxrate = '';
               for (var i = 0; i < $scope.seekCurrency.length; i++) {
                 $scope.seekCurrency[i] = 'RMB';
               }
@@ -297,6 +300,7 @@ define(['app/app'], function (app) {
                   toaster.pop('success', '感谢您参与报价,敬请期待回复');
                   $scope.isShowSayPriceBox = false;
                   $scope.seekPurchaseTableParams.reload();
+                  initInquiryItem()
                 }, function (response) {
                   toaster.pop('error', '请勿重复报价或报价自己的求购');
                 });
@@ -305,6 +309,7 @@ define(['app/app'], function (app) {
                   toaster.pop('success', '感谢您参与报价,敬请期待回复');
                   $scope.isShowSayPriceBox = false;
                   $scope.seekPurchaseTableParams.reload();
+                  initInquiryItem()
                 }, function (response) {
                   toaster.pop('error', '请勿重复报价或报价自己的求购');
                 });
@@ -437,25 +442,29 @@ define(['app/app'], function (app) {
             if (!$scope.inquiryItem.leadtime || $scope.inquiryItem.leadtime < 1 || $scope.inquiryItem.leadtime >= 1000 || $scope.inquiryItem.leadtime.toString().indexOf('.') !== -1) {
               $scope.validSayPrice.leadtime = false;
               toaster.pop('error', '交期请填写1-999之间的正整数');
+                $scope.inquiryItem.leadtime = '';
             } else {
               $scope.validSayPrice.leadtime = true;
+                $scope.inquiryItem.leadtime = Number($scope.inquiryItem.leadtime)
             }
           };
 
-              $scope.onTaxrateInput = function () {
-                  var time = $scope.inquiryItem.taxrate.replace(/[^\-?\d.]/g, '');
-                  if (time.length > 2) {
-                      $scope.inquiryItem.taxrate = Number(time.substring(0, 2));
-                  }
+          $scope.onTaxrateInput = function () {
+              var time = $scope.inquiryItem.taxrate.replace(/[^\-?\d.]/g, '');
+              if (time.length > 2) {
+                  $scope.inquiryItem.taxrate = Number(time.substring(0, 2));
               }
-              $scope.onTaxrateBlur = function () {
-                  if ($scope.inquiryItem.taxrate < 0 || $scope.inquiryItem.taxrate >= 100 || $scope.inquiryItem.taxrate.toString().indexOf('.') !== -1) {
-                      $scope.validSayPrice.taxrate = false;
-                      toaster.pop('error', '税率请填写0-99之间的正整数');
-                  } else {
-                      $scope.validSayPrice.taxrate = true;
-                  }
-              };
+          }
+          $scope.onTaxrateBlur = function () {
+              if ($scope.inquiryItem.taxrate < 0 || $scope.inquiryItem.taxrate >= 100 || $scope.inquiryItem.taxrate.toString().indexOf('.') !== -1) {
+                  $scope.validSayPrice.taxrate = false;
+                  toaster.pop('error', '税率请填写0-99之间的正整数');
+                  $scope.inquiryItem.taxrate = '';
+              } else {
+                  $scope.validSayPrice.taxrate = true;
+                  $scope.inquiryItem.taxrate = Number($scope.inquiryItem.taxrate)
+              }
+          };
 
             $scope.onReplaceBrandBlur = function () {
               if (!$scope.inquiryItem.replaceBrand || $scope.inquiryItem.replaceBrand.length == 0) {
@@ -498,6 +507,7 @@ define(['app/app'], function (app) {
               $scope.validSayPrice.repliesLapQty = false;
             } else {
               $scope.validSayPrice.repliesLapQty = true;
+              $scope.inquiryItem.replies[index].lapQty = Number($scope.inquiryItem.replies[index].lapQty)
             }
           }
           $scope.onReplyLapQtyInput = function (index) {
@@ -546,6 +556,7 @@ define(['app/app'], function (app) {
               $scope.validSayPrice.repliesPrice = false;
             } else {
               $scope.validSayPrice.repliesPrice = true;
+                $scope.inquiryItem.replies[index].price = Number(price)
             }
           }
 /*

+ 11 - 8
src/main/webapp/resources/view/sso/staffManagement.html

@@ -940,7 +940,7 @@
                              全选</th>-->
                         <!--<th width="143">UU账号</th>-->
                         <th width="101">姓名</th>
-                        <th width="67">性别</th>
+                        <!--<th width="67">性别</th>-->
                         <th width="133">手机</th>
                         <th width="207">邮箱</th>
                         <th width="188">商城角色</th>
@@ -960,12 +960,12 @@
                         <td>
                             <input type="text" ng-model="newUser.userName" required placeholder="用户名">
                         </td>
-                        <td>
-                            <select ng-model="newUser.userSex" ng-init="newUser.userSex='M'" >
-                                <option value="M">男</option>
-                                <option value="F">女</option>
-                            </select>
-                        </td>
+                        <!--<td>-->
+                            <!--<select ng-model="newUser.userSex" ng-init="newUser.userSex='M'" >-->
+                                <!--<option value="M">男</option>-->
+                                <!--<option value="F">女</option>-->
+                            <!--</select>-->
+                        <!--</td>-->
                         <td ng-class="{'has-error': userTelError, 'has-success': userTelSuccess}">
                             <input ng-model="newUser.userTel"
                                    ng-blur="telValid(newUser.userTel)" required name="newUserTel"
@@ -980,6 +980,9 @@
                         <td class="role-tag-area">
                             <span class="role-tag bgcolor-5">普</span>
                         </td>
+                        <td class="role-tag-area">
+                            <!--<span class="role-tag bgcolor-5">普</span>-->
+                        </td>
                         <td class="submit-area">
                             <span ng-click="setAddingUser(false)" >取消</span>
                             <span ng-click="addUser(newUser)">确定</span>
@@ -994,7 +997,7 @@
                          </td>-->
                         <!--<td>{{user.userUU}}</td>-->
                         <td>{{user.userName}}</td>
-                        <td>{{user.userSex != null ? (user.userSex == 'M' || user.userSex == '男' ? '男' : '女') : '-'}}</td>
+                        <!--<td>{{user.userSex != null ? (user.userSex == 'M' || user.userSex == '男' ? '男' : '女') : '-'}}</td>-->
                         <td>{{user.userTel}}</td>
                         <td>{{user.userEmail}}</td>
                         <td class="role-tag-area detail-role-tag">

+ 6 - 3
src/main/webapp/resources/view/usercenter/b2b/fa/arCheck.html

@@ -771,7 +771,7 @@
           </td>
         </tr>
         </tbody>
-        <tbody ng-if="active === 'all' && (ALLList !== undefined && ALLList.length == 0)">
+        <tbody ng-if="active === 'all' && (ALLList === undefined || ALLList.length == 0)">
         <tr>
           <td colspan="6">
             <div class="empty">
@@ -940,7 +940,7 @@
         <!--</div>-->
         <!--</div>-->
         <!--ng-show="condition.$open">-->
-        <label class="col-sm-2 control-label">税率:</label>
+        <label class="col-sm-2 control-label">税&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率:</label>
         <div class="col-sm-4">
           <div class="form-group form-group-sm has-feedback">
             <input type="search" class="form-control input-sm"
@@ -1033,10 +1033,13 @@
             <td width="40">{{::check.orderprice}}</td>
             <td width="40" align="center">{{::check.taxrate}}</td>
             <td width="70">{{::(check.orderprice || 0)*(check.thischeckqty || 0) | number:2}}</td>
-            <td width="100">
+            <td width="100" ng-if="check.haveChecked === 1">
               <div>{{::check.recorder || '-'}}</div>
               <div>{{::check.apCheckDate | date:'yyyy年MM月dd日'  || '-'}}</div>
             </td>
+            <td width="100" ng-if="check.haveChecked !== 1">
+              未对账
+            </td>
           </tr>
           <tr ng-if="!data || data.length==0">
             <td colspan="11">

+ 3 - 3
src/main/webapp/resources/view/vendor/b2b/apCheck.html

@@ -771,7 +771,7 @@
           </td>
         </tr>
         </tbody>
-        <tbody ng-if="active === 'all' && (ALLList !== undefined && ALLList.length == 0)">
+        <tbody ng-if="active === 'all' && (ALLList === undefined || ALLList.length == 0)">
           <tr>
             <td colspan="6">
               <div class="empty">
@@ -922,7 +922,7 @@
                   ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
           <div class="btn-group btn-group-sm">
             <a class="btn btn-default" ng-click="searchOrder()" title="筛选"><i class="fa fa-search fa-fw btn-icon-left"></i>筛选</a>
-            <a class="btn btn-default" ng-click="createApCheck(check.$selected)" ng-disabled="!data || data.length==0"><i class="fa fa-check-circle-o fa-fw btn-icon-left"></i>对账</a>
+            <a class="btn btn-default" ng-click="createApCheck(check.$selected)" ng-disabled="!data || data.length==0"><i class="fa fa-check-circle-o fa-fw btn-icon-left"></i>确认</a>
             <a class="btn btn-default" ng-click="exportApcheckList()" title="导出Excel" ng-disabled="!data || data.length==0"><i class="fa fa-file-text fa-fw btn-icon-left"></i>导出</a>
           </div>
         </div>
@@ -939,7 +939,7 @@
           <!--</div>-->
         <!--</div>-->
         <!--ng-show="condition.$open">-->
-        <label class="col-sm-2 control-label">税率:</label>
+        <label class="col-sm-2 control-label">税&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率:</label>
         <div class="col-sm-4">
           <div class="form-group form-group-sm has-feedback">
             <input type="search" class="form-control input-sm"

+ 15 - 10
src/main/webapp/resources/view/vendor/b2b/apCheck_detail.html

@@ -191,6 +191,11 @@
       <!-- <a ng-click="print(order)" class="pull-right text-simple"><i
       class="fa fa-print fa-fw"></i>打印</a> -->
     </div>
+    <div class="btn-group btn-group-sm"  style="float: right;font-size: 14px;cursor: pointer;text-align: right;height: 40px;line-height: 40px; margin-right: 20px;;color: #fff;" ui-sref="fa_apCheck">
+      <img src="static/img/vendor/images/backIcon.png" width="20"/>返回
+      <!--<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>-->
+
+    </div>
   </div>
   <div class="pane-body">
     <div class="bottomB">
@@ -202,10 +207,10 @@
         <span class="title">客户名称</span>
         <div class="content" ng-bind="::data.custName"></div>
       </div>
-      <div class="col-xs-6">
-        <span class="title">应付供应商</span>
-        <div class="content" ng-bind="::data.items[0].receiveName"></div>
-      </div>
+      <!--<div class="col-xs-6">-->
+        <!--<span class="title">应付供应商</span>-->
+        <!--<div class="content" ng-bind="::data.items[0].receiveName"></div>-->
+      <!--</div>-->
     </div>
     <div class="row row-sm item">
       <div class="col-xs-6">
@@ -279,10 +284,10 @@
         <tr class="header">
           <th width="40">采购单号</th>
           <th width="100">验收单</th>
-          <th width="30" style="padding:8px 0;">行号</th>
+          <!--<th width="30" style="padding:8px 0;">行号</th>-->
           <th width="120">商品</th>
-          <th>采购序号</th>
-          <th>验收单序号</th>
+          <!--<th>采购序号</th>-->
+          <!--<th>验收单序号</th>-->
           <th>单价</th>
           <!--<th width="80">单据类型</th>-->
           <th>税率</th>
@@ -295,13 +300,13 @@
         <tr>
           <td ng-bind="item.orderCode"></td>
           <td ng-bind="item.inoutno"></td>
-          <td ng-bind="item.number" style="padding:8px 0;"></td>
+          <!--<td ng-bind="item.number" style="padding:8px 0;"></td>-->
           <td style="max-width: 250px;" class="text-left">
             <div>编号: <span ng-bind="item.prodCode"></span></div>
             <div>规格: <span ng-bind="item.prodSpec"></span></div>
           </td>
-          <td ng-bind="item.orderDetno"></td>
-          <td ng-bind="item.inoutnodetno"></td>
+          <!--<td ng-bind="item.orderDetno"></td>-->
+          <!--<td ng-bind="item.inoutnodetno"></td>-->
           <!--<td ng-bind="item.orderClass"></td>-->
           <td ng-bind="isUser?'-':item.price"></td>
           <td ng-bind="item.taxrate"></td>

+ 4 - 4
src/main/webapp/resources/view/vendor/forstore/seekPurchase.html

@@ -1143,11 +1143,11 @@
                 <div class="content-line">
                     <div class="form-item form-left">
                         <span><i>*</i>交期(天):</span>
-                        <input type="number" class="form-control" ng-change="onLeadtimeInput()" ng-blur="onLeadtimeBlur()" ng-model="inquiryItem.leadtime" placeholder="最长交期">
+                        <input type="text" class="form-control" ng-change="onLeadtimeInput()" ng-blur="onLeadtimeBlur()" ng-model="inquiryItem.leadtime" placeholder="最长交期">
                     </div>
                     <div class="form-item form-right">
                         <span><i>*</i>税率:</span>
-                        <input type="number" style="width:133px;margin-right:5px;" class="form-control" ng-change="onTaxrateInput()" ng-blur="onTaxrateBlur()" ng-model="inquiryItem.taxrate" placeholder="税率">%
+                        <input type="text" style="width:133px;margin-right:5px;" class="form-control" ng-change="onTaxrateInput()" ng-blur="onTaxrateBlur()" ng-model="inquiryItem.taxrate" placeholder="税率">%
                     </div>
                     <div class="form-item form-upload">
                         <!--
@@ -1170,7 +1170,7 @@
                         <input type="text" class="form-control" placeholder="数量">
                         -
                         -->
-                        <input type="number" class="form-control" ng-blur="onReplyLapQtyBlur($index)" ng-change="onReplyLapQtyInput($index)" ng-model="reply.lapQty" placeholder="分段数量">
+                        <input type="text" class="form-control" ng-blur="onReplyLapQtyBlur($index)" ng-change="onReplyLapQtyInput($index)" ng-model="reply.lapQty" placeholder="分段数量">
                     </div>
                     <div class="form-item form-right">
                         <span><i>*</i>单价<span ng-if="inquiryItem.currency" ng-bind="inquiryItem.currency == 'USD' ? '$' : '¥'"></span>:</span>
@@ -1178,7 +1178,7 @@
                             <option value="RMB">¥</option>
                             <option value="USD">$</option>
                         </select>
-                        <input type="number" class="form-control" ng-change="onReplyPriceInput($index)" ng-blur="onReplyPriceBlur($index)" ng-model="reply.price" placeholder="分段单价">
+                        <input type="text" class="form-control" ng-change="onReplyPriceInput($index)" ng-blur="onReplyPriceBlur($index)" ng-model="reply.price" placeholder="分段单价">
                         <i class="fa fa-minus-circle" ng-if="inquiryItem.replies.length > 1" ng-click="setReplies('sub', $index)"></i>
                         <i class="fa fa-plus-circle" ng-if="inquiryItem.replies.length < 5" ng-click="setReplies('add', $index)"></i>
                     </div>