فهرست منبع

代采订单详细资料增加编辑

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8396 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 سال پیش
والد
کامیت
7809312b53

+ 43 - 3
src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java

@@ -37,7 +37,6 @@ import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageParams;
-import com.uas.platform.core.model.Status;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.search.b2b.model.MultiValue;
 import com.uas.search.b2b.model.SPage;
@@ -158,7 +157,7 @@ public class DeputyOrderController {
 	 * @param params
 	 * @return
 	 */
-	@RequestMapping(params = RequestState.TODO, method = RequestMethod.GET)
+	@RequestMapping(value = "/getDeOrder", params = RequestState.TODO, method = RequestMethod.GET)
 	public SPage<DeputyOrder> getDeOrderTodo(PageParams params, String keyword) {
 		logger.log("客户代采订单", "查看代采订单");
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
@@ -175,7 +174,7 @@ public class DeputyOrderController {
 			}
 			pageParams.getFilters().put("deo_enuu", new MultiValue(list, true));
 		}
-		pageParams.getFilters().put("deo_statuscode", Status.UNAUDIT.value());
+		pageParams.getFilters().put("deo_entrystatus", "保存");
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("deo_id", false, Type.LONG, new Long(1)));
@@ -183,6 +182,37 @@ public class DeputyOrderController {
 		return searchService.searchDeputyOrderCheckIds(keyword, pageParams);
 	}
 	
+	/**
+	 * 作为卖家,收到的采购询价(待回复)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/getDeOrder", params = RequestState.DONE, method = RequestMethod.GET)
+	public SPage<DeputyOrder> getDeOrderDone(PageParams params, String keyword) {
+		logger.log("客户代采订单", "查看代采订单");
+		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
+		// 当前登录企业作为供应商
+		pageParams.getFilters().put("deo_enuu", SystemSession.getUser().getEnterprise().getUu());
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+			List<Object> list = new ArrayList<>();
+			for (Object object : filter.getDistribute()) {
+				list.add(object);
+			}
+			pageParams.getFilters().put("deo_enuu", new MultiValue(list, true));
+		}
+		pageParams.getFilters().put("deo_entrystatus", "已提交");
+		// 排序条件
+		List<Sort> sortList = new ArrayList<>();
+		sortList.add(new Sort("deo_id", false, Type.LONG, new Long(1)));
+		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		return searchService.searchDeputyOrderCheckIds(keyword, pageParams);
+	}
+
 	/**
 	 * 查看订单详情
 	 * 
@@ -202,6 +232,16 @@ public class DeputyOrderController {
 		return deputyOrderService.deleteProdById(id);
 	}
 
+	/**
+	 * 删除单据
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/clearOrder/{id}", method = RequestMethod.DELETE)
+	private ModelMap clearOrder(@PathVariable Long id) {
+		return deputyOrderService.clearOrder(id);
+	}
 
 	/**
 	 * 打印订单,增加打印次数

+ 8 - 0
src/main/java/com/uas/platform/b2b/service/DeputyOrderService.java

@@ -101,4 +101,12 @@ public interface DeputyOrderService {
 	 * @return
 	 */
 	public ModelMap isDeputyEnterprise();
+
+	/**
+	 * 删除单据
+	 * 
+	 * @param id
+	 * @return
+	 */
+	public ModelMap clearOrder(Long id);
 }

+ 33 - 2
src/main/java/com/uas/platform/b2b/service/impl/DeputyOrderServiceImpl.java

@@ -234,8 +234,16 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 	@Override
 	public ModelMap deleteProdById(Long id) {
 		ModelMap map = new ModelMap();
-		deputyOrderItemDao.delete(id);
-		map.put("success", "该条明细删除成功");
+		try {
+			deputyOrderItemDao.delete(id);
+			if (deputyOrderItemDao.findOne(id) == null) {
+				map.put("success", "该条明细删除成功");
+			} else {
+				map.put("success", "该条明细删除失败");
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 		return map;
 	}
 
@@ -312,4 +320,27 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 		return map;
 	}
 
+	@Override
+	public ModelMap clearOrder(Long id) {
+		ModelMap map = new ModelMap();
+		DeputyOrder order = deputyOrderDao.findOne(id);
+		if (order != null) {
+			if (!CollectionUtils.isEmpty(order.getDeputyOrderItems())) {
+				for (DeputyOrderItem item : order.getDeputyOrderItems()) {
+					try {
+						deputyOrderItemDao.delete(item.getId());
+						if (deputyOrderDao.findOne(id) == null) {
+							map.put("success", "单据删除成功");
+						} else {
+							map.put("error", "单据删除失败");
+						}
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+		return map;
+	}
+
 }

+ 61 - 1
src/main/webapp/resources/js/index/app.js

@@ -11571,13 +11571,73 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		$scope.del = function(index, id) {
 			DeputyOrder.deleteProdById({id: id}, {}, function(data) {
 				if(data.success) {
-					toaster.pop('success', '提示', response.data);
+					toaster.pop('success', '提示', data.success);
+					$scope.deOrder.deputyOrderItems.splice(index, 1)
+				}
+				if(data.error) {
+					toaster.pop('error', '提示', data.error);
 				}
+				angular.forEach($scope.deOrder.deputyOrderItems, function(item) {
+					$scope.deOrder.totalamount += item.amount * item.unitprice;
+					$scope.deOrder.usdpayment += item.amount * item.unitprice;
+					$scope.deOrder.orderamount += item.amount * item.unitprice * (1 + $scope.rate.rate/100);
+				});
 			}, function(response) {
 				toaster.pop('error', '提示', response.data);
 			});
 		}
 
+		//增加商品
+		$scope.add = function(index) {
+			if($scope.deOrder.deputyOrderItems[index].prodcode == null) {
+				toaster.pop('info', '提示', '请先填写商品信息');
+			}else {
+				$scope.deOrder.deputyOrderItems.push(
+						{ 	prodname: null, 
+							prodcode: null, 
+							prodspec: null, 
+							prodbrand: null,
+							amount: null, 
+							unitprice: null, 
+							remark: null,
+							orderprice: null});
+			}
+		};
+		
+		// 导入商品信息
+		$scope.uplodaByBatch = function() {
+			var modalInstance = $modal.open({
+				templateUrl: 'static/tpl/index/purc/modal/uplodaByBatch.html',
+				controller: 'DeputyOrderUploadCtrl',
+				size: 'lg',
+				resolve: {
+				}
+			});
+			
+			modalInstance.result.then(function(data) {
+				angular.forEach(data, function(data) {
+					$scope.deOrder.deputyOrderItems.push(data);
+					for(var i = 0; i < $scope.deOrder.deputyOrderItems.length; i++) {
+						if($scope.deOrder.deputyOrderItems[i].prodname == null) { // 如果没有填写就删除这行数据
+							$scope.deOrder.deputyOrderItems.splice(i, 1);
+						}
+					}
+				})
+				angular.forEach($scope.deOrder.deputyOrderItems, function(item) {
+					$scope.deOrder.totalamount += item.amount * item.unitprice;
+					$scope.deOrder.usdpayment += item.amount * item.unitprice;
+					$scope.deOrder.orderamount += item.amount * item.unitprice * (1 + $scope.rate.rate/100);
+				});
+				
+			}, function(){
+				
+			});
+		}
+		
+		//删除商品
+		$scope.delItem = function(index) {
+			$scope.deOrder.deputyOrderItems.splice(index, 1);
+		};
 		var getService = function() {
 			return DeputyOrder.getProdList;
 		};

+ 7 - 3
src/main/webapp/resources/tpl/index/purc/deputyOrder.html

@@ -169,10 +169,14 @@
                             <button type="button" class="btn btn-select"
                                     ng-class="{'btn-selected':active=='all'}" ng-click="setActive('all')">全部</button>
                         </div>
-                       <!--  <div class="btn-group">
+                        <div class="btn-group">
                             <button type="button" class="btn btn-select"
-                                    ng-class="{'btn-selected':active=='todo'}" ng-click="setActive('todo')">待审核</button>
-                        </div> -->
+                                    ng-class="{'btn-selected':active=='todo'}" ng-click="setActive('todo')">待提交</button>
+                        </div>
+                         <div class="btn-group">
+                            <button type="button" class="btn btn-select"
+                                    ng-class="{'btn-selected':active=='done'}" ng-click="setActive('done')">已提交</button>
+                        </div>
                     </div>
                    <!-- <div class="col-xs-1 pull-right" style="padding-top: 5px;">
             		            共<span class="text-num">{{total}}</span>

+ 5 - 2
src/main/webapp/resources/tpl/index/purc/deputyOrder_detail.html

@@ -309,10 +309,13 @@
                             <span><input type="text" class="text-center" ng-model="item.prodbrand"></span>
                             <span><input type="text" class="text-center" ng-model="item.amount"></span>
                             <span><input type="text" class="text-center" ng-model="item.unitprice"></span>
-                            <span>{{item.unitprice + item.unitprice* rate.rate/100| number: 2}}</span>
+                            <span>{{item.unitprice + item.unitprice* rate.rate/100| number: 6}}</span>
                             <span>{{item.unitprice * item.amount | number: 2}}</span>
                             <span><input type="text" class="text-center" ng-model="item.remark"></span>
-                            <span><a ng-click="add($index)" style="color: #1f4fb2">添加</a><a ng-click="del($index)" style="color: #d32526"> 删除</a></span>
+                            <span><a ng-click="add($index)" style="color: #1f4fb2">添加</a>
+                            	  <a ng-click="del($index, item.id)" style="color: #d32526" ng-if="item.id != null"> 删除</a>
+                            	  <a ng-click="delItem($index)" style="color: #d32526" ng-if="item.id == null"> 删除</a>
+                            </span>
                         </dd>
                     </dl>
                  <!--    <div class="page fl">

+ 1 - 1
src/main/webapp/resources/tpl/index/purc/deputyOrder_new.html

@@ -317,7 +317,7 @@
                             <span><input type="text" class="text-center" ng-model="item.prodbrand"></span>
                             <span><input type="text" class="text-center" ng-model="item.amount"></span>
                             <span><input type="text" class="text-center" ng-model="item.unitprice"></span>
-                            <span>{{item.unitprice*(1+rate.rate/100)| number: 2}}</span>
+                            <span>{{item.unitprice*(1+rate.rate/100)| number: 6}}</span>
                             <span>{{item.unitprice * item.amount | number: 2}}</span>
                             <span><input type="text" class="text-center" ng-model="item.remark"></span>
                             <span><a ng-click="add($index)" style="color: #1f4fb2">添加</a><a ng-click="del($index)" style="color: #d32526"> 删除</a></span>