Browse Source

Merge remote-tracking branch 'origin/release-201827-wangcz' into release-201827-wangcz

wangyc 7 years ago
parent
commit
b1c0d887a1
23 changed files with 144 additions and 65 deletions
  1. 2 2
      src/main/java/com/uas/platform/b2c/logistics/controller/InvoiceController.java
  2. 1 1
      src/main/java/com/uas/platform/b2c/logistics/service/InvoiceService.java
  3. 12 4
      src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceServiceImpl.java
  4. 2 2
      src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java
  5. 13 5
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/CommodityInOutboundServiceImpl.java
  6. 2 2
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java
  7. 2 2
      src/main/java/com/uas/platform/b2c/prod/store/facade/impl/StoreApplyFacadeImpl.java
  8. 1 1
      src/main/java/com/uas/platform/b2c/prod/store/model/StoreApply.java
  9. 2 3
      src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreApplyServiceImpl.java
  10. 2 4
      src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java
  11. 1 1
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java
  12. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls
  13. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatchError-rmb.xls
  14. BIN
      src/main/resources/jxls-tpl/trade/releasebyBatch-usd.xls
  15. 4 0
      src/main/webapp/WEB-INF/views/normal/adminWithNav.html
  16. 2 2
      src/main/webapp/resources/js/usercenter/controllers/forstore/bomListDetailCtrl.js
  17. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_ctrl.js
  18. 1 1
      src/main/webapp/resources/js/vendor/controllers/forstore/pay_center_ctrl.js
  19. 42 11
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_storageCtrl.js
  20. 1 1
      src/main/webapp/resources/view/vendor/forstore/vendor_material.html
  21. 23 18
      src/main/webapp/resources/view/vendor/forstore/vendor_storage.html
  22. 4 4
      src/main/webapp/resources/view/vendor/forstore/vendor_undercarriage.html
  23. 26 0
      src/test/java/com/uas/platform/b2c/Test.java

+ 2 - 2
src/main/java/com/uas/platform/b2c/logistics/controller/InvoiceController.java

@@ -384,7 +384,7 @@ public class InvoiceController {
 	 * @return ResultMap
 	 */
 	@RequestMapping(value = "/enterprise/inbound", method = RequestMethod.GET)
-    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams) {
-		return invoiceService.getEnterpriseInboundInvoice(pageParams);
+    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword) {
+		return invoiceService.getEnterpriseInboundInvoice(pageParams, keyword);
 	}
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/logistics/service/InvoiceService.java

@@ -215,5 +215,5 @@ public interface InvoiceService {
      * 获取买家的待收货出库单
      * @return Page<Invoice>
      */
-    Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams);
+    Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword);
 }

+ 12 - 4
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceServiceImpl.java

@@ -3,7 +3,6 @@ package com.uas.platform.b2c.logistics.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
-import com.uas.platform.b2c.common.account.model.TradeLog;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.account.model.UserBaseInfo;
 import com.uas.platform.b2c.common.account.service.EnterpriseService;
@@ -41,12 +40,13 @@ import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
 import com.uas.platform.b2c.trade.order.service.OrderService;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
-import com.uas.platform.b2c.trade.util.TradeLogUtil;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.EncodingRulesConstant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.Status;
+import com.uas.platform.core.persistence.criteria.CriterionExpression;
+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 com.uas.platform.core.util.serializer.FlexJsonUtils;
@@ -871,7 +871,7 @@ public class InvoiceServiceImpl implements InvoiceService {
         if(NumberUtil.compare(purchase.getQty(), purchase.getShipQty()) < 1) {
             Set<PurchaseDetail> purchaseDetails = purchase.getPurchaseDetails();
             for (PurchaseDetail purchaseDetail : purchaseDetails) {
-                if (Status.TOBESHIPPED.value() == purchaseDetail.getStatus()) {
+                if (Status.TOBESHIPPED.value() == purchaseDetail.getStatus() || Status.CONFIRMED.value() == purchaseDetail.getStatus()) {
                     purchaseDetail.setStatusInBound(userUU);
                 }
             }
@@ -1218,7 +1218,7 @@ public class InvoiceServiceImpl implements InvoiceService {
     }
 
     @Override
-    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams) {
+    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword) {
         final PageInfo info = new PageInfo(pageParams);
         User user = SystemSession.getUser();
         Enterprise enterprise = user.getEnterprise();
@@ -1228,6 +1228,14 @@ public class InvoiceServiceImpl implements InvoiceService {
         } else {
             info.filter("buyerenuu", user.getEnterprise().getUu());
         }
+        if (org.apache.commons.lang3.StringUtils.isNotEmpty(keyword)) {
+            CriterionExpression[] expressions = new CriterionExpression[2];
+            expressions[0] = PredicateUtils.like("invoiceid", keyword, true);
+            expressions[1] = PredicateUtils.like("sellername", keyword, true);
+
+            LogicalExpression logicalExpression = PredicateUtils.or(expressions);
+            info.expression(logicalExpression);
+        }
         info.filter("status", com.uas.platform.b2c.core.constant.Status.INBOUND.value());
         return invoiceDao.findAll(new Specification<Invoice>() {
             @Override

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java

@@ -8,7 +8,6 @@ import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -147,7 +146,8 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
      * @param uuid 器件的uuid
      * @return  List<Product>
      */
-    List<Product> findByCmpUuId(String uuid);
+    @Query(value = "select p from Product where p.cmpUuId = :uuid")
+    List<Product> findByCmpUuId(@Param("uuid") String uuid);
 
     /**
      * 通过企业uu,标准器件uuid,来源获取物料信息

+ 13 - 5
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/CommodityInOutboundServiceImpl.java

@@ -197,10 +197,18 @@ public class CommodityInOutboundServiceImpl implements CommodityInOutboundServic
                         if (inOutboundDetail.getProductId().longValue() == product.getId().longValue()) {
                             if (InOutBoundType.INBOUND.equals(type) || InOutBoundType.OTHER_INBOUND.equals(type) || InOutBoundType.PURCHASE_INBOUND.equals(type)) {
                                 //只有入库会影响成本单价
-                                if (NumberUtil.compare(inOutboundDetail.getPrice(), DoubleConstant.zero) > 0 && NumberUtil.compare(product.getPrice(), DoubleConstant.zero) > 0) {
-                                    product.setPrice(NumberUtil.div(NumberUtil.add(NumberUtil.mul(product.getPrice(), product.getErpReserve()), NumberUtil.mul(inOutboundDetail.getPrice(), inOutboundDetail.getQty())), NumberUtil.add(product.getErpReserve(), inOutboundDetail.getQty())));
-
-
+                                Double totalQty = 0.0d;
+                                Double price = 0.0d;
+                                if (NumberUtil.compare(product.getPrice(), DoubleConstant.zero) > 0 && NumberUtil.compare(product.getErpReserve(), DoubleConstant.zero) > 0) {
+                                    price = NumberUtil.add(price, NumberUtil.mul(product.getErpReserve(), product.getPrice()));
+                                    totalQty = NumberUtil.add(totalQty, product.getErpReserve());
+                                }
+                                if (NumberUtil.compare(inOutboundDetail.getPrice(), DoubleConstant.zero) > 0 && NumberUtil.compare(inOutboundDetail.getQty(), DoubleConstant.zero) > 0) {
+                                    price = NumberUtil.add(price, NumberUtil.mul(inOutboundDetail.getPrice(),inOutboundDetail.getQty()));
+                                    totalQty = NumberUtil.add(totalQty, inOutboundDetail.getQty());
+                                }
+                                if (NumberUtil.compare(totalQty, DoubleConstant.zero) > 0) {
+                                    product.setPrice(NumberUtil.div(price, totalQty));
                                 }
                                 product.setErpReserve(NumberUtil.add(product.getErpReserve(), inOutboundDetail.getQty()));
                                 productSet.add(product);
@@ -208,7 +216,7 @@ public class CommodityInOutboundServiceImpl implements CommodityInOutboundServic
                                 //出库
                                 if (NumberUtil.compare(product.getErpReserve(), DoubleConstant.zero) == 0) {
                                     throw new IllegalOperatorException("型号:" + product.getPcmpcode() + ",品牌:" +product.getPbranden()+"的物料为0,不能做出库");
-                                } else if (NumberUtil.compare(product.getErpReserve(), inOutboundDetail.getQty()) > 0) {
+                                } else if (NumberUtil.compare(product.getErpReserve(), inOutboundDetail.getQty()) > -1) {
                                     product.setErpReserve(NumberUtil.sub(product.getErpReserve(), inOutboundDetail.getQty()));
                                     productSet.add(product);
                                 } else {

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

@@ -1357,7 +1357,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 			if (RegexConstant.isNumber(firstValue.toString())) {
 				Double cellPrice = Double.valueOf(firstValue.toString());
 				if (validatePrice(cellPrice)) {
-					GoodsQtyPrice qtyPrice = getOneQtyPrice(aProduct.getMinBuyQty(), DoubleConstant.maxMinPackageQty,
+					GoodsQtyPrice qtyPrice = getOneQtyPrice(aProduct.getMinBuyQty(), DoubleConstant.maxReserve,
 							cellPrice, aProduct.getRmbTaxRate(), aProduct.getCurrency());
 					qtyPriceList.add(qtyPrice);
 				} else {
@@ -1413,7 +1413,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		if (start == null || lastEnd == null) {
 			return false;
 		}
-		return start.compareTo(lastEnd) > 0 && start.compareTo(DoubleConstant.maxMinPackageQty) <= 0;
+		return start.compareTo(lastEnd) > 0 && start.compareTo(DoubleConstant.maxReserve) <= 0;
 	}
 
 	/**

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/store/facade/impl/StoreApplyFacadeImpl.java

@@ -44,8 +44,6 @@ public class StoreApplyFacadeImpl implements StoreApplyFacade {
 	@Override
 	public ResultMap handlerApply(String uuid, StoreApply.ApplyStatus status, StoreApply apply) {
 		// 通过uuid找到店铺申请信息
-		Date date = new Date();
-		StoreApply storeApply = storeApplyService.findByUuid(uuid);
 		User user = SystemSession.getUser();
 		if (user == null || user.getEnterprise() == null) {
 			return new ResultMap(CodeType.NOT_PERMIT, "请进行用户登录操作");
@@ -60,6 +58,7 @@ public class StoreApplyFacadeImpl implements StoreApplyFacade {
 		if (apply == null) {
 			return new ResultMap(CodeType.NO_INFO, "店铺申请信息不能为空");
 		}
+		StoreApply storeApply = storeApplyService.findByUuid(uuid);
 		// 检测资质信息
 		if (StoreApply.ApplyStatus.PASS == status) {
 			// TODO 检测企业信息以及品牌信息
@@ -102,6 +101,7 @@ public class StoreApplyFacadeImpl implements StoreApplyFacade {
 			}
 			storeApply.setReason(apply.getReason());
 		}
+		Date date = new Date();
 		// 保存审核时的审核人信息和是否通过状态
 		storeApply.setAuthPerson(user.getUserName());
 		storeApply.setAuthTime(date);

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/store/model/StoreApply.java

@@ -44,7 +44,7 @@ public class StoreApply {
 	/**
 	 * 主营产品
 	 */
-	@Column(name = "apply_description")
+	@Column(name = "apply_description", length = 1000)
 	private String applyDescription;
 
 	/**

+ 2 - 3
src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreApplyServiceImpl.java

@@ -28,7 +28,6 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
-import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -103,12 +102,12 @@ public class StoreApplyServiceImpl implements StoreApplyService {
 		}
 		// 检测是否存在待处理开铺申请
 		StoreApply existApply = storeApplyDao.findByEnUUAndStatus(user.getEnterprise().getUu(), StoreApply.ApplyStatus.PREPARE);
-		if(existApply != null) {
+		if (existApply != null) {
 			return new ResultMap(CodeType.SAVED, "AUTH_PREPARE");
 		}
 		// 检测是否存在待处理开铺申请
 		existApply = storeApplyDao.findByEnUUAndStatus(user.getEnterprise().getUu(), StoreApply.ApplyStatus.PASS);
-		if(existApply != null) {
+		if (existApply != null) {
 			return new ResultMap(CodeType.SAVED, "AUTH_PASS");
 		}
 

+ 2 - 4
src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java

@@ -126,9 +126,6 @@ public class StoreInServiceImpl implements StoreInService {
 		if (storeApply == null || storeApply.getEnUU() == null) {
 			return null;
 		}
-
-		StoreIn store;
-		Date date = new Date();
 		StoreIn existStore = storeDao.findByStoreName(storeApply.getStoreName());
 		if (existStore != null) {
 			throw new IllegalStatusException("店铺信息已经存在");
@@ -137,7 +134,8 @@ public class StoreInServiceImpl implements StoreInService {
 		if (existStore != null) {
 			throw new IllegalStatusException("店铺英文缩写已经存在");
 		}
-		store = new StoreIn();
+		StoreIn store = new StoreIn();
+		Date date = new Date();
 		if (StringUtils.isEmpty(storeApply.getStoreUuid())) {
 			store.setUuid(UuidUtils.generatedUuid());
 		} else {

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

@@ -1764,7 +1764,7 @@ public class OrderServiceImpl implements OrderService {
                 invoiceSignReceive(order, inid);
             }
         }
-        if (NumberUtil.compare(order.getQty(), order.getShipQty()) > 0) {
+        if (NumberUtil.compare(order.getQty(), order.getSignReceiveQty()) > 0) {
             return ResultMap.success(null);
         }
         //如果已经全部发货 (order.getQty() < order.getShipQty())

BIN
src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls


BIN
src/main/resources/jxls-tpl/trade/releaseByBatchError-rmb.xls


BIN
src/main/resources/jxls-tpl/trade/releasebyBatch-usd.xls


+ 4 - 0
src/main/webapp/WEB-INF/views/normal/adminWithNav.html

@@ -138,6 +138,10 @@
 
 
 			<li class="nav-header">审批</li>
+			<li class="nav-node"><a href="/vendor#/brand/apply"><i
+					class="fa fa-bullhorn"></i><span> 品牌申请</span></a></li>
+			<li class="nav-node"><a href="/vendor#/component/apply"><i
+					class="fa fa-bullhorn"></i><span> 器件申请</span></a></li>
 			<li class="nav-node"><a href="#audit/brand"><i
 					class="fa fa-bullhorn"></i><span> 品牌</span></a></li>
 			<li class="nav-node"><a href="#supplierSubmitList"><i

+ 2 - 2
src/main/webapp/resources/js/usercenter/controllers/forstore/bomListDetailCtrl.js

@@ -113,8 +113,8 @@ define(['app/app'], function(app) {
             if (flag) {
                 if ($scope.editBom) {
                     // 批量验证
-                    for (var i = 0; i < $scope.bomData.seekPurchaseByBatchs.length; i++) {
-                        if ($scope.bomData.seekPurchaseByBatchs[i].$checked && !$scope.checkAllProduct($scope.bomData.seekPurchaseByBatchs[i])) {
+                    for (var i = 0; i < $scope.tmpEditBom.seekPurchaseByBatchs.length; i++) {
+                        if ($scope.tmpEditBom.seekPurchaseByBatchs[i].$checked && !$scope.checkAllProduct($scope.tmpEditBom.seekPurchaseByBatchs[i])) {
                             return;
                         }
                     }

+ 1 - 1
src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_ctrl.js

@@ -793,7 +793,7 @@ define(['app/app'], function(app) {
         };
 
         var validateRepeat = function (number) {
-            bankInfoService.getCountByNumber({type:1061, number:number}, {}, function (data) {
+            bankInfoService.getCountByNumber({type:1061, number:number, accountType: 'PAY_TYPE'}, {}, function (data) {
                 if (data.success){
                     if (data.data != 0){
                         $scope.repeatError = true;

+ 1 - 1
src/main/webapp/resources/js/vendor/controllers/forstore/pay_center_ctrl.js

@@ -433,7 +433,7 @@ define(['app/app'], function(app) {
         };
 
         var validateRepeat = function (number) {
-            bankInfoService.getCountByNumber({type:1063,number:number}, {}, function (data) {
+            bankInfoService.getCountByNumber({type:1063,number:number,accountType: 'RECEIVE_TYPE'}, {}, function (data) {
                 if (data.success){
                     if (data.data != 0){
                         $scope.repeatError = true;

+ 42 - 11
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_storageCtrl.js

@@ -1,7 +1,7 @@
 define([ 'app/app' ], function(app) {
     'use strict';
     app.register.controller('vendor_storageCtrl', ['$scope', '$rootScope', '$stateParams', 'BaseService', 'Goods', 'KdnLogistics', '$modal', 'toaster', 'Loading', 'AuthenticationService', '$q', '$upload', '$http', 'ngTableParams', 'InvoiceFPurchase', 'ShippingAddress', 'Enterprise', function ($scope, $rootScope, $stateParams, BaseService, Goods, KdnLogistics, $modal, toaster, Loading, AuthenticationService, $q, $upload, $http, ngTableParams, InvoiceFPurchase, ShippingAddress, Enterprise) {
-        $rootScope.active = 'vendor_storage';
+        $rootScope.active = 'vendor_material';
         $scope.keyword = '';
         $scope.type = '';
         $scope.tab = 'storage';
@@ -300,6 +300,16 @@ define([ 'app/app' ], function(app) {
             })
         }
 
+        $scope.chickAmountBlur = function (item, num) {
+            if($scope.storage_tab === 'outBound') {
+                if(num === 0) {
+                    toaster.pop('info', '提示', '该型号在产品库中库存数量为0,不能出库!');
+                } else if(item.erpReserve && (num > item.erpReserve)) {
+                    toaster.pop('info', '提示', '出库量数量不能大于库存数!');
+                }
+            }
+        }
+
         $scope.onChange = function (type) {
             angular.forEach($scope.otherData, function(val) {
                 val.show = false;
@@ -332,8 +342,11 @@ define([ 'app/app' ], function(app) {
             type.kind = key.kind;
             type.spec = key.spec;
             type.id = key.id;
-            type.qty = key.erpReserve;
             type.price = key.price;
+            type.erpReserve = key.erpReserve;
+            if((type.erpReserve <= 0) && $scope.storage_tab === 'outBound'){
+                toaster.pop('info', '提示', '该型号在产品库中库存数量为0,不能出库!');
+            }
         };
 
         $scope.addOneTable = function (type) {
@@ -355,25 +368,43 @@ define([ 'app/app' ], function(app) {
                 return false
             }
             $scope.othenParam.detail = [];
-            var flag = false;
+            var flag = 0;
             angular.forEach($scope.otherData, function(val) {
                 if(val.id) {
-                    if(val.qty && val.price) {
-                        $scope.othenParam.detail.push({productId: val.id, qty: Number(val.qty), price: Number(val.price)});
-                        flag = true;
-                    }else {
-                        flag = false;
+                    if((val.erpReserve <= 0) && $scope.storage_tab === 'outBound'){
+                        flag = 1
+                    } else if((val.erpReserve < val.qty) && $scope.storage_tab === 'outBound') {
+                        flag = 2
+                    } else if(val.qty) {
+                        val.price ?
+                        $scope.othenParam.detail.push({productId: val.id, qty: Number(val.qty), price: Number(val.price)}) :
+                        $scope.othenParam.detail.push({productId: val.id, qty: Number(val.qty)});
+                    } else {
+                        flag = 3
                     }
                 }
             })
-            if(!flag) {
-                toaster.pop('info', '提示', '请正确填写下面的信息内容!');
+            if(flag === 1) {
+                toaster.pop('info', '提示', '产品库中库存数量为0将不能出库!');
+                return;
+            }
+            if(flag === 2) {
+                toaster.pop('info', '提示', '出库量数量不能大于库存数!');
+                return;
+            }
+            if(flag === 3) {
+                toaster.pop('info', '提示', '请填写数量!');
+                return;
+            }
+            if($scope.othenParam.detail.length <= 0) {
+                toaster.pop('info', '提示', '至少填写一条数据!');
                 return;
             }
             Goods.saveOtherProductData({storage_tab: $scope.storage_tab, enName: $scope.othenParam.enName ? $scope.othenParam.enName : null}, $scope.othenParam.detail, function(data) {
                 if(data.code === 1) {
                     toaster.pop('success', '申请成功!');
                     initOtherData();
+                    $scope.toggleType(0);
                 }
             }, function(res) {
                 toaster.pop('error', '申请失败,请检查再试')
@@ -599,7 +630,7 @@ define([ 'app/app' ], function(app) {
                     var _id = data.purchaseDetails[i].id
                     _obj.push({
                         id: _id,
-                        qty: data.purchaseDetails[i].sendCount
+                        qty: Number(data.purchaseDetails[i].sendCount)
                     })
                 }
             }

+ 1 - 1
src/main/webapp/resources/view/vendor/forstore/vendor_material.html

@@ -1171,7 +1171,7 @@
 											<div class="clearfix"></div>
 										</li>
 										<li style="font-size: 14px;color: #333;background: #fff;" class='priceInfoList' ng-repeat="price in material.goods.prices">
-											<span class="fl w50" style="width: 50%;border-right:1px solid #dcdcdc">{{price.start}}+</span>
+											<span class="fl w50" style="width: 50%;border-right:1px solid #dcdcdc;overflow: hidden;text-overflow: ellipsis;" title="{{price.start}}">{{price.start}}+</span>
 											<span class="fl w50" style="width: 50%;overflow: hidden" title="{{price.rMBPrice || price.uSDPrice}}">
 												{{!store.enType || store.enType === 'HK' ? '$' : '¥'}}
 												{{price.rMBPrice || price.uSDPrice}}</span>

+ 23 - 18
src/main/webapp/resources/view/vendor/forstore/vendor_storage.html

@@ -1224,7 +1224,7 @@
                         ng-click="toggleType(item.id)"></li>
                 </ul>
                 <div class="search fr check" ng-if="handleItem !== 1">
-                    <input type="text" class="form-control" ng-model="keyword" ng-search="onSearch(keyword)" placeholder="{{storage_tab =='outBound' ? '订单号/买家名称' : ( handleItem === 0 ? '入库单/卖家名称':'发货单/卖家名称')}}"/>
+                    <input type="text" class="form-control" ng-model="keyword" ng-search="onSearch(keyword)" placeholder="{{storage_tab =='outBound' ? ( handleItem === 0 ? '出库单号/买家名称':'订单号/买家名称') : ( handleItem === 0 ? '入库单/卖家名称':'发货单/卖家名称')}}"/>
                     <button ng-click="onSearch(keyword)" style="float: left;">搜索</button>
                 </div>
             </div>
@@ -1237,7 +1237,6 @@
                     <th width="120" ng-bind="storage_tab === 'inBound' ? '入库单号' : '出库单号'"></th>
                     <th width="180" ng-bind="storage_tab === 'inBound' ? '发货单' : '订单号'" ng-if="handleItem === 2"></th>
                     <th width="180" ng-bind="storage_tab === 'inBound' ? '卖家名称' : '买家名称'"></th>
-                    <th class="filter" width="110" ng-if="handleItem == 2">类型</th>
                     <th class="filter" width="110" ng-if="handleItem === 0">
                         <a ng-bind="selfSupport">全部类型</a> <i class="fa fa-angle-down fa-angle-up"></i>
                         <div class="hover-show" ng-if="storage_tab === 'inBound'">
@@ -1251,7 +1250,7 @@
                             <a ng-click="changeSupportType('SELL_OUTBOUND')" ng-bind="boundType.SELL_OUTBOUND">销售出库</a>
                         </div>
                     </th>
-                    <th width="90">录入人</th>
+                    <th width="90" ng-if="handleItem !== 2">录入人</th>
                     <th width="170">录入日期</th>
                     <th width="170" class="padding0">操作</th>
                 </tr>
@@ -1267,13 +1266,19 @@
                     <td ng-bind="item.createTime | date : 'yyyy-MM-dd: HH:mm:ss'">2018-12-12</td>
                     <td><span class="btn-toggle" ng-show="item.seleted" ng-click="item.seleted = !item.seleted">收起 <i class="fa fa-angle-up"></i></span><span ng-click="unfoldClick(storageList,item)" class="btn-toggle" ng-show="!item.seleted">展开 <i class="fa fa-angle-down"></i></span></td>
                 </tr>
+                <tr ng-if="item.seleted">
+                    <td colspan="6" style="background:#f5f5f5;">
+                        <div class="logistics-info">
+                            <span style="margin-right:150px;">所属订单:<span ng-bind="item.associateOrderid || item.orid || '-'"></span></span>
+                        </div>
+                    </td>
+                </tr>
                 <tr ng-show="item.seleted">
                     <td colspan="6">
                         <div class="sub-table-head">
                             <table class="wanted-sub-tab table">
                                 <caption ng-if="item.associateOrderid">
                                     明细列表:
-                                    <span class="caption_title">所属订单:<span ng-bind="item.associateOrderid"></span></span>
                                 </caption>
                                 <thead>
                                 <tr>
@@ -1283,7 +1288,7 @@
                                     <th>物料名称</th>
                                     <th width="210">规格</th>
                                     <th width="130">{{storage_tab === 'inBound' ? '入库数' : '出库数'}}(PCS)</th>
-                                    <th width="130">单价({{currency === 'RMB' ? '¥' : '$'}})</th>
+                                    <th width="130">{{storage_tab === 'inBound' ? '采购单价' : '销售单价'}}({{currency === 'RMB' ? '¥' : '$'}})</th>
                                 </tr>
                                 </thead>
                             </table>
@@ -1326,9 +1331,10 @@
                                 <th width="110"><em class="red_color">*</em>型号</th>
                                 <th width="130">品牌</th>
                                 <th>物料名称</th>
-                                <th width="210">规格</th>
+                                <th width="180">规格</th>
+                                <th width="130">库存数(PCS)</th>
                                 <th width="130"><em class="red_color">*</em>{{storage_tab === 'inBound' ? '入库数' : '出库数'}}(PCS)</th>
-                                <th width="130">单价({{currency === 'RMB' ? '¥' : '$'}})</th>
+                                <th width="130">{{storage_tab === 'inBound' ? '采购单价' : '销售单价'}}({{currency === 'RMB' ? '¥' : '$'}})</th>
                             </tr>
                             </thead>
                             <tbody>
@@ -1353,7 +1359,8 @@
                                 <td><span ng-bind="item.pbranden || '-'" title="{{item.pbranden}}"></span></td>
                                 <td><span ng-bind="item.kind || '-'" title="{{item.kind}}"></span></td>
                                 <td><span ng-bind="item.spec || '-'" title="{{item.spec}}"></span></td>
-                                <td><input type="text" class="form-control" ng-model="item.qty" ng-change="onAmountChange(item, item.qty, 'qty', 9)"></td>
+                                <td><span ng-bind="item.erpReserve || '-'" title="{{item.erpReserve}}"></span></td>
+                                <td><input type="text" class="form-control" ng-model="item.qty" ng-change="onAmountChange(item, item.qty, 'qty', 9)" ng-blur="chickAmountBlur(item, item.qty)"></td>
                                 <td><input type="text" class="form-control" ng-model="item.price" ng-change="onAmountChange(item, item.price, 'price', 4, 6)"></td>
                             </tr>
                             <tr>
@@ -1373,19 +1380,17 @@
                 <tbody ng-if="handleItem === 2" ng-repeat="item in storageList" ng-class="{'toggle-mode': item.seleted}">
                 <tr>
                     <td>系统自动生成</td>
-                    <td ng-if="storage_tab === 'outBound'"><span ng-bind="item.purchaseid || '-'" title="{{item.purchaseid}}"></span></td>
+                    <td ng-if="storage_tab === 'outBound'"><span ng-bind="item.orderid || '-'" title="{{item.orderid}}"></span></td>
                     <td ng-if="storage_tab === 'inBound'"><span ng-bind="item.invoiceid || '-'" title="{{item.invoiceid}}"></span></td>
                     <td><span ng-bind="item.buyentername || item.buyerentername || item.buyername" title="{{item.buyentername || item.buyerentername || item.buyername}}"></span></td>
-                    <td ng-bind="storage_tab === 'outBound' ? '销售出库' : '采购入库'">腌肉入库</td>
-                    <td><span ng-bind="item.sellername" title="{{item.sellername}}"></span></td>
                     <td ng-bind="item.createtime | date: 'yyyy-MM-dd'"></td>
                     <td ng-if="!item.seleted"><a class="btn-click" ng-click="item.seleted = !item.seleted;unfoldClick(storageList, item)" ng-bind="storage_tab === 'inBound' ? '收货入库' : '发货出库'"></a></td>
                     <td ng-if="item.seleted"><a class="btn-click" ng-click="saveOtherCheck(item, storage_tab)">确定</a><a class="btn-click" ng-click="item.seleted = !item.seleted">取消</a></td>
                 </tr>
                 <tr ng-if="item.seleted && storage_tab === 'outBound'">
-                    <td colspan="7" style="background:#f5f5f5;">
+                    <td colspan="5" style="background:#f5f5f5;">
                         <div class="logistics-info">
-                            <span style="margin-right:150px;">所属订单:<span ng-bind="item.associateOrderid || '-'"></span></span>
+                            <span style="margin-right:150px;">所属订单:<span ng-bind="item.orderid || '-'"></span></span>
                             <span>物流公司 :&nbsp;</span>
                             <span class="input-ul">
                                 <input id="logistics-input" type="text" class="form-control select-adder" ng-focus="getItemFocus()"
@@ -1411,7 +1416,7 @@
                     </td>
                 </tr>
                 <tr ng-if="item.seleted && storage_tab === 'inBound' && item.logistics">
-                    <td colspan="7" style="background:#f5f5f5;">
+                    <td colspan="5" style="background:#f5f5f5;">
                         <div class="logistics-info">
                             <span style="margin-right:150px;">所属订单:<span ng-bind="item.associateOrderid || item.orid || '-'"></span></span>
                             <span>物流公司 :&nbsp;</span>
@@ -1423,7 +1428,7 @@
                     </td>
                 </tr>
                 <tr ng-show="item.seleted">
-                    <td colspan="7">
+                    <td colspan="5">
                         <div class="sub-table-head">
                             <table class="wanted-sub-tab table">
                                 <thead>
@@ -1436,7 +1441,7 @@
                                     <th width="100" ng-if="storage_tab === 'outBound'">应出库(PCS)</th>
                                     <th width="100" ng-if="storage_tab === 'outBound'">已出库(PCS)</th>
                                     <th width="100"><em class="red_color">*</em>{{storage_tab === 'inBound' ? '入库数' : '出库数'}}(PCS)</th>
-                                    <th width="80">单价({{currency === 'RMB' ? '¥' : '$'}})</th>
+                                    <th width="80">{{storage_tab === 'inBound' ? '采购单价' : '销售单价'}}({{currency === 'RMB' ? '¥' : '$'}})</th>
                                 </tr>
                                 </thead>
                             </table>
@@ -1451,7 +1456,7 @@
                                     <td><span ng-bind="list.kiName || '-'" title="{{list.kiName}}"></span></td>
                                     <td width="180"><span ng-bind="list.spec || '-'" title="{{list.spec}}"></span></td>
                                     <td width="100"><span ng-bind="list.qty || '-'" title="{{list.qty}}"></span></td>
-                                    <td width="80"><span ng-bind="list.price || '-'" title="{{list.price}}"></span></td>
+                                    <td width="80"><span ng-bind="list.taxUnitprice || '-'" title="{{list.taxUnitprice}}"></span></td>
                                 </tr>
                             </table>
                             <!--销售出库数据-->
@@ -1468,7 +1473,7 @@
                                         <span ng-if="list.number === list.shipQty">-</span>
                                         <input type="text" ng-pattern="/^[1-9]\d*$/" ng-model="list.sendCount" ng-change="onAmountChange(list, list.sendCount, 'sendCount', 9)" ng-blur="outBlurSendCount(list, list.sendCount)" ng-if="list.number !== list.shipQty" class="form-control">
                                     </td>
-                                    <td width="80"><span ng-bind="list.price || '-'" title="{{list.price}}"></span></td>
+                                    <td width="80"><span ng-bind="list.taxUnitprice || '-'" title="{{list.taxUnitprice}}"></span></td>
                                 </tr>
                             </table>
                         </div>

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

@@ -669,7 +669,7 @@
                         <th>产品信息</th>
                         <th width="100">&nbsp;</th>
                         <th width="130">&nbsp;</th>
-                        <th width="110" class="text-left">生产日期</th>
+                        <th width="110" class="text-left">期</th>
                         <th width="70">梯度</th>
                         <th width="120">单价</th>
                         <th width="130">上/下架时间</th>
@@ -732,9 +732,9 @@
                             </div>
                         </td>
                         <td>
-                            <div>
-                                <span ng-bind="commodity.produceDate" title="{{commodity.produceDate}}"></span>
-                            </div>
+                            <!--<div>-->
+                                <!--<span ng-bind="commodity.produceDate" title="{{commodity.produceDate}}"></span>-->
+                            <!--</div>-->
                             <div>
                                 交期 :
                                 <em ng-if="commodity.b2cMinDelivery == commodity.b2cMaxDelivery" ng-bind="commodity.b2cMinDelivery"></em>

+ 26 - 0
src/test/java/com/uas/platform/b2c/Test.java

@@ -0,0 +1,26 @@
+package com.uas.platform.b2c;
+
+import com.uas.platform.b2c.prod.commodity.model.Product;
+import com.uas.platform.b2c.prod.commodity.service.ProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * description
+ *
+ * @author yuj 2018-09-07 16:07
+ */
+public class Test extends BaseJunitTest {
+
+    @Autowired
+    private ProductService productService;
+
+    @org.junit.Test
+    public void test() {
+        Product panaVise = productService.getProductByEnuuAndCodeAndBrand(10043560L, "HE1AN-P-DC12V", "PanaVise");
+        if (panaVise != null) {
+            System.err.println(panaVise.toString());
+        } else {
+            System.err.println("没有");
+        }
+    }
+}