Browse Source

增加采购验退,委外验收,委外验退单据批量更新价格后上传

hejq 8 years ago
parent
commit
3e3c45a180

+ 2 - 1
src/main/java/com/uas/platform/b2b/controller/PublicQueryController.java

@@ -104,7 +104,8 @@ public class PublicQueryController {
 				accounts = FlexJsonUtils.fromJsonArray(data, String.class);
 			} else {// 单个
 				accounts = new ArrayList<String>();
-				accounts.add(FlexJsonUtils.fromJson(data, String.class));
+                // 存在纯数字的情况,这个地方不用FlexJsonUtils转换
+				accounts.add(data);
 			}
 			List<Object[]> backInfo = enterpriseService.findByEnNames(accounts);
 			Map<String, Object> infos = new HashMap<String, Object>();

+ 1 - 2
src/main/java/com/uas/platform/b2b/dao/MakeAcceptDao.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.dao;
 
 import java.util.List;
 
+import com.uas.platform.b2b.model.MakeAcceptItem;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -30,7 +31,6 @@ public interface MakeAcceptDao extends JpaSpecificationExecutor<MakeAccept>, Jpa
 	/**
 	 * 按卖家UU、反过账状态查找
 	 * @param vendUU
-	 * @param sendStatus
 	 * @param nonPosting
 	 * @return
 	 */
@@ -44,5 +44,4 @@ public interface MakeAcceptDao extends JpaSpecificationExecutor<MakeAccept>, Jpa
 	@Query("select count(p) from MakeAccept p where p.vendUU = :vendUU")
 	public long countByVendUU(@Param("vendUU")Long vendUU);
 
-	
 }

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/MakeAcceptItemDao.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2b.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import com.uas.platform.b2b.model.MakeAcceptItem;
@@ -10,4 +12,14 @@ import com.uas.platform.b2b.model.MakeAcceptItem;
 public interface MakeAcceptItemDao extends JpaSpecificationExecutor<MakeAcceptItem>,
 JpaRepository<MakeAcceptItem,Long>{
 
+    /**
+     * 通过企业uu、委外验收单号、明细序号查询委外验收明细
+     *
+     * @param enUU
+     * @param code
+     * @param number
+     * @return
+     */
+    @Query("from MakeAcceptItem a where a.accept.enUU = :enUU and a.accept.code = :code and a.number = :number")
+    MakeAcceptItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code, @Param("number") Short number);
 }

+ 12 - 1
src/main/java/com/uas/platform/b2b/dao/MakeReturnItemDao.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2b.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import com.uas.platform.b2b.model.MakeReturnItem;
@@ -9,5 +11,14 @@ import com.uas.platform.b2b.model.MakeReturnItem;
 @Repository
 public interface MakeReturnItemDao extends JpaSpecificationExecutor<MakeReturnItem>,
 JpaRepository<MakeReturnItem, Long>{
-
+    /**
+     * 通过企业uu、委外验收单号、明细序号查询委外验收明细
+     *
+     * @param enUU
+     * @param code
+     * @param number
+     * @return
+     */
+    @Query("from MakeReturnItem r where r.returns.enUU = :enUU and r.returns.code = :code and r.number = :number")
+    MakeReturnItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code, @Param("number") Short number);
 }

+ 1 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseReturnDao.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.dao;
 
 import java.util.List;
 
+import com.uas.platform.b2b.model.PurchaseReturnItem;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;

+ 11 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseReturnItemDao.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2b.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import com.uas.platform.b2b.model.PurchaseReturnItem;
@@ -10,4 +12,13 @@ import com.uas.platform.b2b.model.PurchaseReturnItem;
 public interface PurchaseReturnItemDao extends JpaSpecificationExecutor<PurchaseReturnItem>,
 		JpaRepository<PurchaseReturnItem, Long> {
 
+    /**
+     *  根据企业UU,采购验退单号,序号,查询采购验退单明细
+     * @param enUU
+     * @param code
+     * @param number
+     * @return
+     */
+    @Query("from PurchaseReturnItem r where r.purchaseReturn.enUU = :enUU and r.purchaseReturn.code = :code and r.number = :number")
+    PurchaseReturnItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code, @Param("number") Short number);
 }

+ 70 - 2
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdInOutController.java

@@ -4,7 +4,11 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.List;
 
-import com.uas.platform.b2b.service.PurchaseApBillService;
+import com.uas.platform.b2b.model.MakeAccept;
+import com.uas.platform.b2b.model.MakeReturn;
+import com.uas.platform.b2b.model.PurchaseAccept;
+import com.uas.platform.b2b.model.PurchaseReturn;
+import com.uas.platform.b2b.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,7 +20,6 @@ import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
 import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
-import com.uas.platform.b2b.service.PurchaseAcceptService;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 
@@ -40,6 +43,15 @@ public class PurchaseProdInOutController {
 	@Autowired
 	private PurchaseApBillService purchaseApBillService;
 
+	@Autowired
+	private MakeAcceptService makeAcceptService;
+
+	@Autowired
+	private MakeReturnService makeReturnService;
+
+	@Autowired
+	private PurchaseReturnService returnService;
+
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	/**
@@ -89,5 +101,61 @@ public class PurchaseProdInOutController {
 		purchaseAcceptService.save(purchaseProdInOutService.convertPirceForProdIn(prodInOuts));
 		// 更新关联的应付发票的价格
 		purchaseApBillService.refreshPrice(prodInOuts);
+		logger.log("批量更新采购验收单单价", "上传批量更新采购验收单单价", prodInOuts.size());
+	}
+
+
+	/**
+	 * 批量更新采购验退单单价
+	 *
+	 * @param data
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/refreshPrice/purc/return", method = RequestMethod.POST)
+	@ResponseBody
+	public void refreshPriceForPurcReturn(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
+		// 更新采购验退单的价格
+		returnService.save(returnService.convertPirceForProdIn(prodInOuts));
+		// 更新关联的应付发票的价格
+		purchaseApBillService.refreshPrice(prodInOuts);
+		logger.log("批量更新采购验退单单价", "上传批量更新采购验退单单价", prodInOuts.size());
+	}
+
+	/**
+	 * 批量更新委外验收单单价
+	 *
+	 * @param data
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/refreshPrice/make/accept", method = RequestMethod.POST)
+	@ResponseBody
+	public void refreshPriceForMakeAccept(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
+		// 更新委外验收单的价格
+		makeAcceptService.save(makeAcceptService.convertPirceForProdIn(prodInOuts));
+		// 更新关联的应付发票的价格
+		purchaseApBillService.refreshPrice(prodInOuts);
+		logger.log("批量更新委外验收单单价", "上传批量更新委外验收单单价", prodInOuts.size());
+	}
+
+	/**
+	 * 批量更新委外验退单单价
+	 *
+	 * @param data
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/refreshPrice/make/return", method = RequestMethod.POST)
+	@ResponseBody
+	public void refreshPriceForMakeReturn(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
+		// 更新委外验退单的价格
+		makeReturnService.save(makeReturnService.convertPirceForProdIn(prodInOuts));
+		// 更新关联的应付发票的价格
+		purchaseApBillService.refreshPrice(prodInOuts);
+		logger.log("批量更新委外验退单单价", "上传批量更新委外验退单单价", prodInOuts.size());
 	}
 }

+ 4 - 4
src/main/java/com/uas/platform/b2b/erp/service/PurchaseProdInOutService.java

@@ -18,7 +18,7 @@ public interface PurchaseProdInOutService {
 	/**
 	 * 将ERP系统的采购验收单,转为平台的客户采购验收单
 	 * 
-	 * @param changes
+	 * @param prodInOuts
 	 * @return
 	 */
 	List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts);
@@ -33,7 +33,7 @@ public interface PurchaseProdInOutService {
 	/**
 	 * 将ERP系统的采购验退单,转为平台的客户采购验退单
 	 * 
-	 * @param changes
+	 * @param prodInOuts
 	 * @return
 	 */
 	List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts);
@@ -48,7 +48,7 @@ public interface PurchaseProdInOutService {
 	/**
 	 * 将ERP系统的不良品入库单,转为平台的客户不良品入库单
 	 * 
-	 * @param changes
+	 * @param prodInOuts
 	 * @return
 	 */
 	List<PurchaseBadInItem> convertBadIns(List<PurchaseProdInOut> prodInOuts);
@@ -63,7 +63,7 @@ public interface PurchaseProdInOutService {
 	/**
 	 * 将ERP系统的不良品出库单,转为平台的客户不良品出库单
 	 * 
-	 * @param changes
+	 * @param prodInOuts
 	 * @return
 	 */
 	List<PurchaseBadOutItem> convertBadOuts(List<PurchaseProdInOut> prodInOuts);

+ 9 - 0
src/main/java/com/uas/platform/b2b/service/MakeAcceptService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.service;
 
 import java.util.List;
 
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.MakeAccept;
@@ -78,4 +79,12 @@ public interface MakeAcceptService {
 	public Long getAllCount();
 
     Integer getAcceptUnreadCount();
+
+	/**
+	 * 将批量更改价格转换成委外验收单
+	 *
+	 * @param prodInOuts
+	 * @return
+	 */
+	List<MakeAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts);
 }

+ 9 - 0
src/main/java/com/uas/platform/b2b/service/MakeReturnService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.service;
 
 import java.util.List;
 
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.MakeReturn;
@@ -78,4 +79,12 @@ public interface MakeReturnService {
 	public Long getAllCount();
 
     Integer getReturnUnreadCount();
+
+	/**
+	 * 批量更新价格转换成委外验退单
+	 *
+	 * @param prodInOuts
+	 * @return
+	 */
+	List<MakeReturnItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts);
 }

+ 10 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseReturnService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.service;
 
 import java.util.List;
 
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.PurchaseReturn;
@@ -14,7 +15,7 @@ public interface PurchaseReturnService {
 	/**
 	 * 批量保存、修改客户采购验退单
 	 * 
-	 * @param changeItems
+	 * @param returnItems
 	 * @return
 	 */
 	public void save(List<PurchaseReturnItem> returnItems);
@@ -80,4 +81,12 @@ public interface PurchaseReturnService {
 	public Long getAllCount();
 
     Integer getReturnUnreadCount();
+
+	/**
+	 * 批量更新采购验退单单价转换成采购验退单数据
+	 *
+	 * @param prodInOuts
+	 * @return
+	 */
+	List<PurchaseReturnItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts);
 }

+ 18 - 0
src/main/java/com/uas/platform/b2b/service/impl/MakeAcceptServiceImpl.java

@@ -5,6 +5,7 @@ import com.uas.platform.b2b.dao.MakeAcceptDao;
 import com.uas.platform.b2b.dao.MakeAcceptItemDao;
 import com.uas.platform.b2b.dao.MakeOrderDao;
 import com.uas.platform.b2b.dao.PagingReleaseCountDao;
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import com.uas.platform.b2b.event.MakeAcceptSaveEvent;
 import com.uas.platform.b2b.event.MakeAcceptSaveReleaseEvent;
 import com.uas.platform.b2b.model.MakeAccept;
@@ -179,4 +180,21 @@ public class MakeAcceptServiceImpl implements MakeAcceptService {
 		return pagingReleaseCountDao.getUnreadCount(SystemSession.getUser().getEnterprise().getUu(),
 				SystemSession.getUser().getUserUU(), "sale", "MAKE$ACCEPT");
 	}
+
+	@Override
+	public List<MakeAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts) {
+		List<MakeAcceptItem> items = new ArrayList<MakeAcceptItem>();
+		if(!CollectionUtils.isEmpty(prodInOuts)) {
+			for(ProdInOutRefreshPrice prod : prodInOuts) {
+				MakeAcceptItem returnItem = makeAcceptItemDao.findByEnUUAndCodeAndNumber(
+						SystemSession.getUser().getEnterprise().getUu(), prod.getPbu_inoutno(), prod.getPbu_pdno());
+				if (null != returnItem) {
+					returnItem.setOrderPrice(prod.getPbu_orderprice());
+					returnItem.setTaxrate(prod.getPbu_taxrate());
+					items.add(returnItem);
+				}
+			}
+		}
+		return items;
+	}
 }

+ 18 - 0
src/main/java/com/uas/platform/b2b/service/impl/MakeReturnServiceImpl.java

@@ -9,6 +9,7 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -179,4 +180,21 @@ public class MakeReturnServiceImpl implements MakeReturnService {
 		return pagingReleaseCountDao.getUnreadCount(SystemSession.getUser().getEnterprise().getUu(),
 				SystemSession.getUser().getUserUU(), "sale", "MAKE$RETURN");
 	}
+
+	@Override
+	public List<MakeReturnItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts) {
+		List<MakeReturnItem> items = new ArrayList<MakeReturnItem>();
+		if(!CollectionUtils.isEmpty(prodInOuts)) {
+			for(ProdInOutRefreshPrice prod : prodInOuts) {
+				MakeReturnItem returnItem = makeReturnItemDao.findByEnUUAndCodeAndNumber(
+						SystemSession.getUser().getEnterprise().getUu(), prod.getPbu_inoutno(), prod.getPbu_pdno());
+				if (null != returnItem) {
+					returnItem.setOrderPrice(prod.getPbu_orderprice());
+					returnItem.setTaxrate(prod.getPbu_taxrate());
+					items.add(returnItem);
+				}
+			}
+		}
+		return items;
+	}
 }

+ 18 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseReturnServiceImpl.java

@@ -8,6 +8,7 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -197,4 +198,21 @@ public class PurchaseReturnServiceImpl implements PurchaseReturnService {
 		return pagingReleaseCountDao.getUnreadCount(SystemSession.getUser().getEnterprise().getUu(),
 				SystemSession.getUser().getUserUU(), "sale", "PURC$RETURN");
 	}
+
+	@Override
+	public List<PurchaseReturnItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts) {
+		List<PurchaseReturnItem> items = new ArrayList<PurchaseReturnItem>();
+		if(!CollectionUtils.isEmpty(prodInOuts)) {
+			for(ProdInOutRefreshPrice prod : prodInOuts) {
+				PurchaseReturnItem returnItem = purchaseReturnItemDao.findByEnUUAndCodeAndNumber(
+						SystemSession.getUser().getEnterprise().getUu(), prod.getPbu_inoutno(), prod.getPbu_pdno());
+				if (null != returnItem) {
+					returnItem.setOrderPrice(prod.getPbu_orderprice());
+					returnItem.setTaxrate(prod.getPbu_taxrate());
+					items.add(returnItem);
+				}
+			}
+		}
+		return items;
+	}
 }