Browse Source

订单复制功能

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10084 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 8 years ago
parent
commit
b5283b45bd

+ 12 - 0
src/main/java/com/uas/platform/b2b/controller/PurcOrderController.java

@@ -159,4 +159,16 @@ public class PurcOrderController {
 		logger.log("新增采购导入物料", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());
 		return map;
 	}
+	
+	/**
+	 * 复制采购订单
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/copyorder/{id}", method = RequestMethod.POST)
+	@ResponseBody
+	public ModelMap copyOrder(@PathVariable("id") Long id) {
+		return purcOrderService.copyorder(id);
+	}
 }

+ 1 - 4
src/main/java/com/uas/platform/b2b/controller/PurcProductController.java

@@ -10,7 +10,6 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort.Direction;
-import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -59,9 +58,6 @@ public class PurcProductController {
 	@Autowired
 	private SearchService searchService;
 
-	@Autowired
-	private JdbcTemplate jdbcTemplate;
-
 	/**
 	 * 获取批量上传物料的模板
 	 * 
@@ -246,4 +242,5 @@ public class PurcProductController {
 	public void switchPorduct(@PathVariable("status") String status) {
 		purcProductService.switchPorduct(status);
 	}
+
 }

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

@@ -72,4 +72,12 @@ public interface PurcOrderService {
 	 */
 	public ModelMap releaseByWorkbook(Workbook workbook);
 
+	/**
+	 * 复制采购单
+	 * 
+	 * @param id
+	 * @return
+	 */
+	public ModelMap copyorder(Long id);
+
 }

+ 47 - 15
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -1,17 +1,61 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.transaction.Transactional;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
+
 import com.uas.account.entity.RequsetStatus;
 import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
-import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.dao.CartDetailDao;
+import com.uas.platform.b2b.dao.ComponentDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.PagingReleaseDao;
+import com.uas.platform.b2b.dao.PagingReleaseDetailDao;
+import com.uas.platform.b2b.dao.ProductDao;
+import com.uas.platform.b2b.dao.ProductMatchResultDao;
+import com.uas.platform.b2b.dao.PurchaseOrderAllItemDao;
+import com.uas.platform.b2b.dao.UserBaseInfoDao;
+import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.event.PurchaseOrderSaveReleaseEvent;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Attach;
+import com.uas.platform.b2b.model.Cart;
+import com.uas.platform.b2b.model.CartDetail;
+import com.uas.platform.b2b.model.Component;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.EnterpriseInfo;
+import com.uas.platform.b2b.model.FileUpload;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.ProductMatchResult;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+import com.uas.platform.b2b.model.PurchaseOrderAllItem;
+import com.uas.platform.b2b.model.UserBaseInfo;
+import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.b2b.temporary.model.*;
+import com.uas.platform.b2b.temporary.model.BasePartnersInfo;
+import com.uas.platform.b2b.temporary.model.NewPurcOrder;
+import com.uas.platform.b2b.temporary.model.OrderItems;
+import com.uas.platform.b2b.temporary.model.PartStatus;
+import com.uas.platform.b2b.temporary.model.ProdInfo;
+import com.uas.platform.b2b.temporary.model.UserSpaceDetail;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
@@ -21,18 +65,6 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.ui.ModelMap;
-
-import javax.transaction.Transactional;
-import java.text.SimpleDateFormat;
-import java.util.*;
 
 @Service
 @Transactional

+ 54 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurcOrderServiceImpl.java

@@ -1,6 +1,8 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -14,11 +16,19 @@ import org.springframework.ui.ModelMap;
 
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.ProductDao;
+import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.PurcOrderService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.Customers;
+import com.uas.platform.b2b.temporary.model.NewPurcOrder;
+import com.uas.platform.b2b.temporary.model.OrderItems;
 import com.uas.platform.b2b.temporary.model.ProductInfo;
 
 @Service
@@ -33,6 +43,12 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 	@Autowired
 	private ProductDao productDao;
 
+	@Autowired
+	private PurchaseOrderAllDao purchaseOrderAllDao;
+
+	@Autowired
+	private BaseInfoService baseInfoService;
+
 	@Override
 	public Vendor getVendorInfo(String businessCode) {
 		return vendorDao.findByMyEnUUAndVendUU(SystemSession.getUser().getEnterprise().getUu(),
@@ -201,5 +217,43 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 
 	}
 
+	@Override
+	public ModelMap copyorder(Long id) {
+		PurchaseOrderAll order = purchaseOrderAllDao.findOne(id);
+		NewPurcOrder neworder = new NewPurcOrder();
+		if (null != order) {
+			SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmss_sss");
+			String code = sdf.format(new Date());
+			neworder.setCode(code);
+			neworder.setCurrency(order.getCurrency());
+			neworder.setDate(new Date());
+			neworder.setPayments(order.getPayments());
+			neworder.setRemark(order.getRemark());
+			neworder.setShipaddress(order.getShipAddress());
+			neworder.setVenduser(order.getVenduser());
+			Enterprise enter = enterpriseDao.findEnterpriseByUu(order.getVendUU());
+			Customers cust = new Customers();
+			cust.setUu(enter.getUu());
+			cust.setEnName(enter.getEnName());
+			neworder.setCust(cust);
+			neworder.setVendusertel(order.getVendusertel());
+			List<OrderItems> items = new ArrayList<OrderItems>();
+			if (!CollectionUtils.isEmpty(order.getOrderItems())) {
+				OrderItems item = new OrderItems();
+				for (PurchaseOrderAllItem orderitem : order.getOrderItems()) {
+					item.setCode(code);
+					item.setDelivery(orderitem.getDelivery());
+					item.setQty(String.valueOf(orderitem.getQty()));
+					item.setRemark(orderitem.getRemark());
+					item.setPrice(String.valueOf(orderitem.getPrice()));
+					item.setId(orderitem.getProductId());
+					item.setRate(orderitem.getTaxrate());
+					items.add(item);
+				}
+			}
+			neworder.setOrderItems(items);
+		}
+		return baseInfoService.addtoCart(neworder);
+	}
 
 }

+ 4 - 4
src/main/java/com/uas/platform/b2b/service/impl/PurchaseAcceptServiceImpl.java

@@ -12,7 +12,6 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.SetJoin;
 
-import com.uas.platform.b2b.dao.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -21,6 +20,10 @@ import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 
+import com.uas.platform.b2b.dao.PagingReleaseCountDao;
+import com.uas.platform.b2b.dao.PurchaseAcceptDao;
+import com.uas.platform.b2b.dao.PurchaseAcceptItemDao;
+import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.model.PurchaseAccept;
 import com.uas.platform.b2b.model.PurchaseAcceptItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
@@ -43,9 +46,6 @@ public class PurchaseAcceptServiceImpl implements PurchaseAcceptService {
 	@Autowired
 	private PurchaseAcceptDao purchaseAcceptDao;
 
-	@Autowired
-	private PurchaseAcceptIndexDao purchaseAcceptIndexDao;
-
 	@Autowired
 	private PurchaseOrderItemDao purchaseOrderItemDao;
 

+ 7 - 0
src/main/webapp/resources/js/index/services/Purc.js

@@ -995,6 +995,13 @@ define([ 'ngResource'], function() {
 				method: 'DELETE'
 			}
 		});
+	}]).factory('PurchaseOrder', ['$resource', function($resource){
+		return $resource('purchase', {}, {
+			copyorder: {
+				url: 'purchase/copyorder/:id',
+				method: 'POST'
+			}
+		});
 	}]).factory('KindAPI', ['$resource', '$cacheFactory', function($resource, $cacheFactory) {
         var cache = $cacheFactory('KindAPI');
         return $resource ('product/kind', {}, {