Browse Source

增加对于关联申请的品牌供应商进行关联申请中信息展示

wangyc 8 years ago
parent
commit
698dbee6f7

+ 9 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/dao/VendorListSubmitDao.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2c.prod.product.brand.dao;
 package com.uas.platform.b2c.prod.product.brand.dao;
 
 
 import com.uas.platform.b2c.prod.product.brand.modal.VendorListSubmit;
 import com.uas.platform.b2c.prod.product.brand.modal.VendorListSubmit;
+import java.util.List;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
@@ -13,4 +14,12 @@ import org.springframework.stereotype.Repository;
 @Repository
 @Repository
 public interface VendorListSubmitDao extends JpaSpecificationExecutor<VendorListSubmit>, JpaRepository<VendorListSubmit, Long> {
 public interface VendorListSubmitDao extends JpaSpecificationExecutor<VendorListSubmit>, JpaRepository<VendorListSubmit, Long> {
 
 
+    /**
+     * 根据供应商id和申请状态获取申请信息
+     * @param vendorId
+     * @param status
+     * @return
+     */
+    List<VendorListSubmit> findByVendoridAndStatus(Long vendorId, Integer status);
+
 }
 }

+ 30 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/modal/VendorList.java

@@ -101,6 +101,20 @@ public class VendorList implements Serializable {
     @Column(name = "vl_branduuid")
     @Column(name = "vl_branduuid")
     private String branduuid;
     private String branduuid;
 
 
+    /**
+     * 是否申请中
+     * 1,是
+     * 0,否
+     */
+    @Column(name = "vl_issubmited")
+    private Short isSubmited;
+
+    /**
+     * 申请时间
+     */
+    @Column(name = "vl_submitTime")
+    private Date submitTime;
+
     public Long getId() {
     public Long getId() {
         return id;
         return id;
     }
     }
@@ -213,6 +227,22 @@ public class VendorList implements Serializable {
         this.branduuid = branduuid;
         this.branduuid = branduuid;
     }
     }
 
 
+    public Short getIsSubmited() {
+        return isSubmited;
+    }
+
+    public void setIsSubmited(Short isSubmited) {
+        this.isSubmited = isSubmited;
+    }
+
+    public Date getSubmitTime() {
+        return submitTime;
+    }
+
+    public void setSubmitTime(Date submitTime) {
+        this.submitTime = submitTime;
+    }
+
     public VendorList() {
     public VendorList() {
     }
     }
 
 

+ 36 - 7
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/VendorListServiceImpl.java

@@ -1,16 +1,25 @@
 package com.uas.platform.b2c.prod.product.brand.service.impl;
 package com.uas.platform.b2c.prod.product.brand.service.impl;
 
 
+import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
 import com.uas.platform.b2c.prod.product.brand.dao.VendorListDao;
 import com.uas.platform.b2c.prod.product.brand.dao.VendorListDao;
+import com.uas.platform.b2c.prod.product.brand.dao.VendorListSubmitDao;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.VendorList;
 import com.uas.platform.b2c.prod.product.brand.modal.VendorList;
+import com.uas.platform.b2c.prod.product.brand.modal.VendorListSubmit;
 import com.uas.platform.b2c.prod.product.brand.service.VendorListService;
 import com.uas.platform.b2c.prod.product.brand.service.VendorListService;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.IllegalOperatorException;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
+import java.util.List;
+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.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
@@ -19,12 +28,6 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 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.List;
-
 /**
 /**
  * Created by wangyc on 2017/11/27.
  * Created by wangyc on 2017/11/27.
  *
  *
@@ -35,13 +38,16 @@ public class VendorListServiceImpl implements VendorListService{
 
 
     private final VendorListDao vendorListDao;
     private final VendorListDao vendorListDao;
 
 
+    private final VendorListSubmitDao vendorListSubmitDao;
+
     private final BrandDao brandDao;
     private final BrandDao brandDao;
 
 
     private final StoreInDao storeInDao;
     private final StoreInDao storeInDao;
 
 
     @Autowired
     @Autowired
-    public VendorListServiceImpl (VendorListDao vendorListDao, BrandDao brandDao, StoreInDao storeInDao) {
+    public VendorListServiceImpl (VendorListDao vendorListDao, VendorListSubmitDao vendorListSubmitDao, BrandDao brandDao, StoreInDao storeInDao) {
         this.vendorListDao = vendorListDao;
         this.vendorListDao = vendorListDao;
+        this.vendorListSubmitDao = vendorListSubmitDao;
         this.brandDao = brandDao;
         this.brandDao = brandDao;
         this.storeInDao = storeInDao;
         this.storeInDao = storeInDao;
     }
     }
@@ -70,6 +76,15 @@ public class VendorListServiceImpl implements VendorListService{
         // 装载店铺信息
         // 装载店铺信息
         if (CollectionUtils.isNotEmpty(vendorLists)) {
         if (CollectionUtils.isNotEmpty(vendorLists)) {
             for (VendorList vendorList : vendorLists) {
             for (VendorList vendorList : vendorLists) {
+                // 如果供应商信息申请状态为正在申请中,用申请信息替换它
+                if (Constant.YES == vendorList.getIsSubmited()) {
+                    List<VendorListSubmit> vendorListSubmits = vendorListSubmitDao.findByVendoridAndStatus(vendorList.getId(),
+                        Status.SUBMITTED.value());
+                    if (CollectionUtils.isNotEmpty(vendorListSubmits)) {
+                        convertBySubmit(vendorList, vendorListSubmits.get(0));
+                    }
+                }
+
                 if (vendorList.getStoreuuid() != null) {
                 if (vendorList.getStoreuuid() != null) {
                     StoreIn store = storeInDao.findByUuid(vendorList.getStoreuuid());
                     StoreIn store = storeInDao.findByUuid(vendorList.getStoreuuid());
                     if (store != null) {
                     if (store != null) {
@@ -81,4 +96,18 @@ public class VendorListServiceImpl implements VendorListService{
 
 
         return new PageImpl<VendorList>(vendorLists, pageInfo, vendorListPage.getTotalElements());
         return new PageImpl<VendorList>(vendorLists, pageInfo, vendorListPage.getTotalElements());
     }
     }
+
+    private void convertBySubmit(VendorList vendorList, VendorListSubmit vendorListSubmit) {
+        vendorList.setArea(vendorListSubmit.getArea());
+        vendorList.setBranduuid(vendorListSubmit.getBranduuid());
+        vendorList.setDetailAddress(vendorListSubmit.getDetailAddress());
+        vendorList.setEmail(vendorListSubmit.getEmail());
+        vendorList.setLicense(vendorListSubmit.getLicense());
+        vendorList.setStoreuuid(vendorListSubmit.getStoreuuid());
+        vendorList.setTel(vendorListSubmit.getTel());
+        vendorList.setFax(vendorListSubmit.getFax());
+        vendorList.setVendorName(vendorListSubmit.getVendorName());
+        vendorList.setWebsite(vendorListSubmit.getWebsite());
+        vendorList.setImg(vendorListSubmit.getImg());
+    }
 }
 }

+ 45 - 3
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/VendorListSubmitServiceImpl.java

@@ -15,6 +15,7 @@ import com.uas.platform.b2c.prod.product.brand.service.VendorListSubmitService;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.IllegalOperatorException;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
@@ -107,13 +108,25 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
             throw new IllegalOperatorException("此供应商信息不存在,请确认后再进行操作");
             throw new IllegalOperatorException("此供应商信息不存在,请确认后再进行操作");
         }
         }
 
 
+        if (Constant.YES == oldVendor.getIsSubmited()) {
+            throw new IllegalOperatorException("此供应商信息正在申请中,请联系管理员处理完现有申请后,再进行操作");
+        }
+
+        Date now = new Date();
+
         VendorListSubmit vendorListSubmit = new VendorListSubmit(oldVendor);
         VendorListSubmit vendorListSubmit = new VendorListSubmit(oldVendor);
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
-        vendorListSubmit.setUpdatetime(new Date());
+        vendorListSubmit.setUpdatetime(now);
         vendorListSubmit.setVendorid(oldVendor.getId());
         vendorListSubmit.setVendorid(oldVendor.getId());
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
         // 设置操作类型为删除
         // 设置操作类型为删除
         vendorListSubmit.setType(Status.DELETED.value());
         vendorListSubmit.setType(Status.DELETED.value());
+
+        // 更新供应商信息为正在申请
+        oldVendor.setSubmitTime(now);
+        oldVendor.setIsSubmited(Constant.YES);
+        vendorListDao.save(oldVendor);
+
         return vendorListSubmitDao.save(vendorListSubmit);
         return vendorListSubmitDao.save(vendorListSubmit);
     }
     }
 
 
@@ -125,12 +138,25 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
         if (oldVendor == null)
         if (oldVendor == null)
             throw new IllegalOperatorException("此供应商不存在");
             throw new IllegalOperatorException("此供应商不存在");
 
 
+        if (Constant.YES == oldVendor.getIsSubmited()) {
+            throw new IllegalOperatorException("此供应商信息正在申请中,请联系管理员处理完现有申请后,再进行操作");
+        }
+
+
+        Date now = new Date();
+
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
-        vendorListSubmit.setUpdatetime(new Date());
+        vendorListSubmit.setUpdatetime(now);
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
         // 设置操作类型为更新
         // 设置操作类型为更新
         vendorListSubmit.setType(Status.ACTIVE.value());
         vendorListSubmit.setType(Status.ACTIVE.value());
         vendorListSubmit.setId(null);
         vendorListSubmit.setId(null);
+
+        // 更新供应商信息为正在申请
+        oldVendor.setSubmitTime(now);
+        oldVendor.setIsSubmited(Constant.YES);
+        vendorListDao.save(oldVendor);
+
         return vendorListSubmitDao.save(vendorListSubmit);
         return vendorListSubmitDao.save(vendorListSubmit);
     }
     }
 
 
@@ -138,9 +164,11 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
     public VendorListSubmit audit(VendorListSubmit vendorListSubmit) {
     public VendorListSubmit audit(VendorListSubmit vendorListSubmit) {
         validition(vendorListSubmit);// 验证申请
         validition(vendorListSubmit);// 验证申请
 
 
+        Date now = new Date();
+
         vendorListSubmit.setStatus(Status.AUDITED.value());// 修改状态为已审核
         vendorListSubmit.setStatus(Status.AUDITED.value());// 修改状态为已审核
         vendorListSubmit.setAuditeruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setAuditeruu(SystemSession.getUser().getUserUU());
-        vendorListSubmit.setAudittime(new Date());
+        vendorListSubmit.setAudittime(now);
         vendorListSubmitDao.save(vendorListSubmit);
         vendorListSubmitDao.save(vendorListSubmit);
 
 
         // 删除申请,删除原供应商信息
         // 删除申请,删除原供应商信息
@@ -156,6 +184,9 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
                 checkVendorid(vendorListSubmit);
                 checkVendorid(vendorListSubmit);
                 vendorList.setId(vendorListSubmit.getVendorid());
                 vendorList.setId(vendorListSubmit.getVendorid());
             }
             }
+            // 将供应商信息申请状态更新为不在申请中
+            vendorList.setIsSubmited(Constant.NO);
+            vendorList.setSubmitTime(now);
             vendorListDao.save(vendorList);
             vendorListDao.save(vendorList);
         }
         }
 
 
@@ -183,6 +214,17 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
         vendorListSubmit.setStatus(Status.NOTALLOW.value());
         vendorListSubmit.setStatus(Status.NOTALLOW.value());
         vendorListSubmit.setAuditeruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setAuditeruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setAudittime(new Date());
         vendorListSubmit.setAudittime(new Date());
+
+        // 若申请关联已生效供应商信息,将已生效信息改为不在申请状态中
+        if (vendorListSubmit.getVendorid() != null) {
+            VendorList oldVendor = vendorListDao.findOne(vendorListSubmit.getVendorid());
+            if (oldVendor != null) {
+                oldVendor.setIsSubmited(Constant.NO);
+                oldVendor.setSubmitTime(new Date());
+                vendorListDao.save(oldVendor);
+            }
+        }
+
         return vendorListSubmitDao.save(vendorListSubmit);
         return vendorListSubmitDao.save(vendorListSubmit);
     }
     }
 
 

+ 8 - 3
src/main/webapp/resources/js/admin/controllers/supplierMaintenanceCtrl.js

@@ -20,7 +20,7 @@ define([ 'app/app' ], function(app) {
 				page : 1,
 				page : 1,
 				count : 5,
 				count : 5,
 				sorting : {
 				sorting : {
-					updatetime : 'DESC'
+					submitTime : 'DESC'
 				}
 				}
 			}, {
 			}, {
 				total : 0,
 				total : 0,
@@ -69,9 +69,11 @@ define([ 'app/app' ], function(app) {
 			supplier.img = supplier.editImg;
 			supplier.img = supplier.editImg;
 			supplier.branduuid = $stateParams.uuid;
 			supplier.branduuid = $stateParams.uuid;
 			supplier.storeuuid = supplier.storeIn == null ? null : supplier.storeIn.uuid;
 			supplier.storeuuid = supplier.storeIn == null ? null : supplier.storeIn.uuid;
-			SupplierSubmit.submit({},supplier,function(){
+			SupplierSubmit.submit({},supplier,function(data){
 				toaster.pop('success', '提示', "申请成功");
 				toaster.pop('success', '提示', "申请成功");
-				supplier = {};
+				data.isSubmited = '2';
+				$scope.supplierTableParams.data.push(data);
+				$scope.supplier = {};
 				$scope.addedSupplier = false;
 				$scope.addedSupplier = false;
 			},function(res){
 			},function(res){
 				toaster.pop('error', '警告', res.data);
 				toaster.pop('error', '警告', res.data);
@@ -102,9 +104,12 @@ define([ 'app/app' ], function(app) {
 
 
 		// 保存更改后的供应商信息
 		// 保存更改后的供应商信息
 		$scope.updateSupplier = function(supplier){
 		$scope.updateSupplier = function(supplier){
+			inverseSupplier(supplier)
 			SupplierSubmit.updateSupplier({}, supplier, function(data){
 			SupplierSubmit.updateSupplier({}, supplier, function(data){
 				toaster.pop('success', '供应商信息申请成功');
 				toaster.pop('success', '供应商信息申请成功');
 				supplier.edit = false;
 				supplier.edit = false;
+				$scope.supplierTableParams.page(1);
+				$scope.supplierTableParams.reload();
 			}, function(response){
 			}, function(response){
 				toaster.pop('error', '申请失败', response.data);
 				toaster.pop('error', '申请失败', response.data);
 			});
 			});

+ 10 - 4
src/main/webapp/resources/view/admin/supplier_maintenance.html

@@ -577,7 +577,7 @@
 		</div>
 		</div>
 		<div class="box-content">
 		<div class="box-content">
 			<!-- ng-tableStart -->
 			<!-- ng-tableStart -->
-			<div class="fullscreen" style="padding: 10px;">
+			<div class="fullscreen" style="padding: 50px;">
 				<div class="box-top">
 				<div class="box-top">
 					<div class="load">
 					<div class="load">
 						<span>供应商维护</span>
 						<span>供应商维护</span>
@@ -640,7 +640,11 @@
 								<td>
 								<td>
 									<span ng-bind="supplier.email" class="emails">12345678@qq.com</span>
 									<span ng-bind="supplier.email" class="emails">12345678@qq.com</span>
 								</td>
 								</td>
-								<td><span class="operate" ng-click="changeSupplier(supplier)">修改</span></td>
+								<td>
+									<span class="operate" ng-if="supplier.isSubmited==0" ng-click="changeSupplier(supplier)">修改</span>
+									<span ng-if="supplier.isSubmited==1">申请中</span>
+									<span ng-if="supplier.isSubmited==2">待审核</span>
+								</td>
 							</tr>
 							</tr>
 							<!--修改状态-->
 							<!--修改状态-->
 							<tr ng-if="supplier.edit">
 							<tr ng-if="supplier.edit">
@@ -735,7 +739,10 @@
 										<div class="hover-show hover-shows" ng-if="supplier.editImg || 'static/img/store/common/default.png'">
 										<div class="hover-show hover-shows" ng-if="supplier.editImg || 'static/img/store/common/default.png'">
 											<span class="delete" title="删除" ng-click="deleteImage(supplier)"><i class="fa fa-trash"></i></span>
 											<span class="delete" title="删除" ng-click="deleteImage(supplier)"><i class="fa fa-trash"></i></span>
 											<!--<span class="update" ng-click="showImg(supplier.editImg, $index); refreshImg()"><i class="fa fa-refresh"></i> 查看</span>-->
 											<!--<span class="update" ng-click="showImg(supplier.editImg, $index); refreshImg()"><i class="fa fa-refresh"></i> 查看</span>-->
-											<span class="update"><input type="file" ng-src="{{supplier.editImg || 'static/img/store/common/default.png'}}" image-upload on-success="onUploadImage($data, supplier)" title="" non-preview="true"/><span><i class="fa fa-refresh"></i> 更新</span></span>
+											<span class="update">
+												<input type="file" image-upload on-success="onUploadImage($data, supplier)" title="" non-preview="true"/>
+												<span><i class="fa fa-refresh"></i> 更新</span>
+											</span>
 										</div>
 										</div>
 									</div>
 									</div>
 								</div>
 								</div>
@@ -835,7 +842,6 @@
 							<td>
 							<td>
 								<span class="operate" ng-click="sure(supplier)">确认</span>
 								<span class="operate" ng-click="sure(supplier)">确认</span>
 								<span class="operate" ng-click="cancelAddSupplier(supplier)">取消</span>
 								<span class="operate" ng-click="cancelAddSupplier(supplier)">取消</span>
-								{{supplier.email}}
 							</td>
 							</td>
 						</tr>
 						</tr>
 						</tbody>
 						</tbody>