Просмотр исходного кода

处理发货单调整之后报错的问题

yujia 7 лет назад
Родитель
Сommit
abb5e5595a

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -420,4 +420,14 @@ public class ProductController {
 	public ResultMap updateProduct(@RequestBody String json, String attachUrl){
 		return productService.updateProduct(json, attachUrl);
 	}
+
+	/**
+	 * 根据关键字匹配器件型号,获取物料信息
+	 * @param keyword
+	 * @return
+	 */
+	@RequestMapping(value = "/keyword", method = RequestMethod.GET)
+	public List<Product> getProductsByKeyword(String keyword) {
+		return new ArrayList<>();
+	}
 }

+ 0 - 13
src/main/java/com/uas/platform/b2c/trade/aftersale/controller/ChangeController.java

@@ -112,19 +112,6 @@ public class ChangeController {
 		return changeService.sendChange(cust);
 	}
 
-	/**
-	 * 平台确认收货
-	 *
-	 * @param changeid the changeid
-	 * @return the string
-	 */
-	@RequestMapping(value = "/ensureaccept/{changeid}", method = RequestMethod.PUT)
-	public String ensureAccept(@PathVariable Long changeid) {
-		assert logger != null;
-		logger.log("换货信息管理", "平台确认收货", "平台确认收货 id=" + changeid +"的换货单, 操作人:" + SystemSession.getUser().getUserUU() + "-" + SystemSession.getUser().getUserName()) ;
-		return changeService.ensureAccept(changeid);
-	}
-
 	/**
 	 * 平台向供应商发货(批量)
 	 *

+ 0 - 11
src/main/java/com/uas/platform/b2c/trade/aftersale/controller/ReturnController.java

@@ -66,17 +66,6 @@ public class ReturnController {
 		return returnService.ensureReturn(FastjsonUtils.fromJson(json, Order.class));
 	}
 
-	/**
-	 * 平台确认收货
-	 *
-	 * @param returnid the returnid
-	 * @return the return f cust
-	 */
-	@RequestMapping(value = "/ensureaccept/{returnid}", method = RequestMethod.PUT)
-	public ReturnFCust ensureAccept(@PathVariable Long returnid) {
-		return returnService.ensureAccept(returnid);
-	}
-
 	/**
 	 * b2c管理者统一查询接口(ReturnFCust)
 	 *

+ 1 - 13
src/main/java/com/uas/platform/b2c/trade/aftersale/model/ChangeFCust.java

@@ -10,18 +10,7 @@ import com.uas.platform.core.model.Status;
 import com.uas.platform.core.model.Type;
 import com.uas.platform.core.persistence.StatusColumn;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.OrderBy;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Set;
@@ -204,7 +193,6 @@ public class ChangeFCust extends Document implements Serializable {
 		this.createtime = new Date();
 		this.orid = order.getOrderid();
 		this.currency = order.getCurrency();
-		this.inid = order.getInid();
 	}
 
 	/**

+ 0 - 1
src/main/java/com/uas/platform/b2c/trade/aftersale/model/ReturnFCust.java

@@ -776,7 +776,6 @@ public class ReturnFCust extends Document implements Serializable {
 		this.currency = order.getCurrency();
 		this.createtime = new Date();
 		this.banktfid = order.getBanktfid();
-		this.inid = order.getInid();
 		this.orid = order.getOrderid();
 	}
 

+ 0 - 8
src/main/java/com/uas/platform/b2c/trade/aftersale/service/ChangeService.java

@@ -53,14 +53,6 @@ public interface ChangeService {
 	 */
 	String sendChange(ChangeFCust changeid);
 
-	/**
-	 * 平台确认收货
-	 *
-	 * @param changeid the changeid
-	 * @return the string
-	 */
-	String ensureAccept(Long changeid);
-
 	/**
 	 * 平台向供应商发换货单
 	 *

+ 0 - 8
src/main/java/com/uas/platform/b2c/trade/aftersale/service/ReturnService.java

@@ -70,14 +70,6 @@ public interface ReturnService {
 	 */
 	ReturnFCust sendReturn(ReturnFCust returnfcust);
 
-	/**
-	 * 平台确认收货
-	 *
-	 * @param returnid the returnid
-	 * @return the return f cust
-	 */
-	ReturnFCust ensureAccept(Long returnid);
-
 	/**
 	 * 客户发退货单
 	 *

+ 1 - 100
src/main/java/com/uas/platform/b2c/trade/aftersale/service/impl/ChangeServiceImpl.java

@@ -8,18 +8,13 @@ import com.uas.platform.b2c.logistics.dao.InvoiceFPurchaseDao;
 import com.uas.platform.b2c.logistics.dao.ReceiptDao;
 import com.uas.platform.b2c.logistics.model.Invoice;
 import com.uas.platform.b2c.logistics.model.InvoiceDetail;
-import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
 import com.uas.platform.b2c.logistics.model.Receipt;
 import com.uas.platform.b2c.logistics.model.ReceiptDetail;
 import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
 import com.uas.platform.b2c.trade.aftersale.dao.ChangeFB2cDao;
 import com.uas.platform.b2c.trade.aftersale.dao.ChangeFCustDao;
 import com.uas.platform.b2c.trade.aftersale.dao.ChangeFCustDetailDao;
-import com.uas.platform.b2c.trade.aftersale.model.ChangeFB2CSimpleInfo;
-import com.uas.platform.b2c.trade.aftersale.model.ChangeFB2c;
-import com.uas.platform.b2c.trade.aftersale.model.ChangeFB2cDetail;
-import com.uas.platform.b2c.trade.aftersale.model.ChangeFCust;
-import com.uas.platform.b2c.trade.aftersale.model.ChangeFCustDetail;
+import com.uas.platform.b2c.trade.aftersale.model.*;
 import com.uas.platform.b2c.trade.aftersale.service.ChangeService;
 import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
@@ -50,7 +45,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -230,99 +224,6 @@ public class ChangeServiceImpl implements ChangeService {
 		return "success";
 	}
 
-	@Override
-	@Transactional
-	public String ensureAccept(Long changeid) {
-		ChangeFCust cust = changeFCustDao.findOne(changeid);
-		if(cust == null) {
-			throw new IllegalOperatorException("对应的换货单信息不存在");
-		}
-		if (!cust.getStatus().equals(Status.INSPECTING.value())) {
-			throw new IllegalOperatorException("换货单" + cust.getChangeid() + "的状态是" + Status.valueOf(cust.getStatus()).getPhrase() + ",不能确认收货");
-		}
-		// 在这里生成平台的换货单 和 销售验退单
-		//第1步 客户换货单生成销售验退单 (平台销售换货单)
-		Receipt receipt = new Receipt(cust, createNumberService);
-		Set<ReceiptDetail> receiptdetais = new HashSet<>();
-		// 给明细赋值
-		for (ChangeFCustDetail custDetail : cust.getChangeDetails()) {
-			ReceiptDetail reD = new ReceiptDetail(custDetail, createNumberService);
-			custDetail.setStatus(Status.TOBESHIPPED.value());
-			reD.setReceipt(receipt);
-			reD.setStatus(Status.AVAILABLE.value());
-			receiptdetais.add(reD);
-		}
-		Long uu = SystemSession.getUser().getUserUU();
-		receipt.setStatusAvailable(uu);
-		receipt.setReceiptDetails(receiptdetais);
-		receipt.setSettlement(Status.NOTSETTLED.value());
-		receiptDao.save(receipt);
-
-		// 第2步 生成平台换货单
-		//根据采购单拆分不同的平台出货单(按供应商拆分)
-		HashMap<String, Set<ChangeFCustDetail>> map = new HashMap<String, Set<ChangeFCustDetail>>();
-		Set<ChangeFCustDetail> changeDetails = cust.getChangeDetails();
-		for (ChangeFCustDetail changeFCustDetail : changeDetails) {
-			String puid = changeFCustDetail.getPuid();
-			PurchaseDetail purchaseDetail = purchaseDetailDao.findByDetailid(puid);
-			String purchaseid = purchaseDetail.getPurchase().getPurchaseid();
-			Set<ChangeFCustDetail> set = map.get(purchaseid);
-			if(set == null) {
-				set = new HashSet<ChangeFCustDetail>();
-			}
-			set.add(changeFCustDetail);
-			map.put(purchaseid, set);
-		}
-		Set<String> keySet = map.keySet();
-		for (String puid : keySet) {			
-			ChangeFB2c changeB2c = new ChangeFB2c(cust);
-			// 获取订单对应供应商的地址
-			Purchase purchase = purchaseDao.findByPurchaseid(puid);
-			InvoiceFPurchase inFpu = invoiceFPurchaseDao.findByInvoiceid(purchase.getInid());
-			changeB2c.setJsonAddress(inFpu.getJsonSdAddress());
-			// 生成换货单号
-			String b2cid = EncodingRulesConstant.CHANGE_FROMB2C.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$change_fmb2c", 8));
-			changeB2c.setChangeid(b2cid);
-			// TODO 暂时添加,需求不确定
-			purchase.setExchangeStatus(Purchase.ExchangeStatus.B2C_RETURNED);
-			purchase.setExchangeIdFromBuyer(b2cid);
-			purchase.setExchangeStatusFromBuyer(Status.TOBESHIPPEDBACK.value());
-			changeB2c.setStatusTobeshippedback(SystemSession.getUser().getUserUU());
-			changeB2c.setSellerenuu(purchase.getSellerenuu());
-			changeB2c.setSellername(purchase.getSellername());
-			changeB2c.setCfcid(cust.getChangeid());
-			Set<ChangeFCustDetail> set = map.get(puid);
-			Double taxes = 0d;
-			Double price = 0d;
-			Set<ChangeFB2cDetail> b2cDetails = new HashSet<>();
-			for (ChangeFCustDetail changeFCustDetail : set) {
-				ChangeFB2cDetail b2cDetail = new ChangeFB2cDetail(changeFCustDetail);
-				String detailid = EncodingRulesConstant.CHANGE_DETAIL_FROMB2C.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$change_fmb2c_dt", 9));
-				b2cDetail.setDetailid(detailid);
-				b2cDetail.setChange(changeB2c);
-				b2cDetails.add(b2cDetail);
-				b2cDetail.setStatus(Status.TOBESHIPPEDBACK.value());
-				taxes = DoubleArith.add(taxes, b2cDetail.getTaxes());
-				price = DoubleArith.add(price, b2cDetail.getPrice());
-				b2cDetails.add(b2cDetail);
-			}
-			changeB2c.setChangeDetails(b2cDetails);
-			changeB2c.setTaxes(taxes);
-			changeB2c.setPrice(price);
-			changeB2c.setPuid(puid);
-			changeB2c.setCustid(cust.getId());
-			changeFB2cDao.save(changeB2c);
-		}
-		// 第3步 回改客户退货单状态
-		cust.setStatusTobeshipped(uu);
-		String orid = cust.getOrid();
-		Order order = orderDao.findByOrderid(orid);
-		order.setChangeStatus(Status.TOBESHIPPED.value());
-		orderDao.save(order);
-		changeFCustDao.save(cust);
-		return "success";
-	}
-
 	@Override
 	@Transactional
 	public String batchSendForVender(List<ChangeFB2c> b2cs) {

+ 2 - 114
src/main/java/com/uas/platform/b2c/trade/aftersale/service/impl/ReturnServiceImpl.java

@@ -9,18 +9,13 @@ import com.uas.platform.b2c.fa.settlement.model.RefundDetail;
 import com.uas.platform.b2c.fa.settlement.service.RefundService;
 import com.uas.platform.b2c.logistics.dao.InvoiceFPurchaseDao;
 import com.uas.platform.b2c.logistics.dao.ReceiptDao;
-import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
 import com.uas.platform.b2c.logistics.model.Receipt;
 import com.uas.platform.b2c.logistics.model.ReceiptDetail;
 import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
 import com.uas.platform.b2c.trade.aftersale.dao.ReturnFB2cDao;
 import com.uas.platform.b2c.trade.aftersale.dao.ReturnFCustDao;
 import com.uas.platform.b2c.trade.aftersale.dao.ReturnFCustDetailDao;
-import com.uas.platform.b2c.trade.aftersale.model.ReturnFB2c;
-import com.uas.platform.b2c.trade.aftersale.model.ReturnFB2cDetail;
-import com.uas.platform.b2c.trade.aftersale.model.ReturnFB2cSimpleInfo;
-import com.uas.platform.b2c.trade.aftersale.model.ReturnFCust;
-import com.uas.platform.b2c.trade.aftersale.model.ReturnFCustDetail;
+import com.uas.platform.b2c.trade.aftersale.model.*;
 import com.uas.platform.b2c.trade.aftersale.service.ReturnFCustDetailService;
 import com.uas.platform.b2c.trade.aftersale.service.ReturnService;
 import com.uas.platform.b2c.trade.order.dao.OrderDao;
@@ -51,13 +46,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * The type Return service implementation.
@@ -240,107 +229,6 @@ public class ReturnServiceImpl implements ReturnService {
 		return returnFCustDao.save(cust);
 	}
 
-	@Override
-	@Transactional
-	public ReturnFCust ensureAccept(Long returnid) {
-		ReturnFCust cust = returnFCustDao.findOne(returnid);
-		if (cust == null || !cust.getStatus().equals(Status.INSPECTING.value())) {
-			throw new IllegalOperatorException("退货单状态不为验货中,不可确认收货!");
-		}
-
-		// 在这里生成平台的退货单 和 销售验退单
-		//第1步 生成销售验退单 (平台销售换货单)
-		Receipt receipt = new Receipt(cust);
-		String receiptid = createNumberService.generateOrderNumber(EncodingRulesConstant.RECEIPT_FROMPURCHASE, "trade$receipt", 8);
-		receipt.setReceiptid(receiptid);
-		Set<ReceiptDetail> receiptdetais = new HashSet<>();
-		
-		//根据采购单拆分客户退货单
-		HashMap<String, Set<ReturnFB2cDetail>> map = new HashMap<>();
-		for (ReturnFCustDetail custDetail : cust.getReturnDetails()) {
-			//生成入库单
-			ReceiptDetail reD = new ReceiptDetail(custDetail);
-			String detailid = createNumberService.generateOrderNumber(EncodingRulesConstant.RECEIPT_DETAIL_FROMPURCHASE, "trade$receipt_detail", 9);
-			reD.setDetailid(detailid);
-			reD.setReceipt(receipt);
-			reD.setStatus(Status.NOTSETTLED.value());	
-			receiptdetais.add(reD);
-			
-			//第2步 生成平台退货单,根据不同的供应商,产生不用的平台退货单。
-			//根据退货单的明细拆分,如果明细属于同一张采购单生成一张平台退货单(其实就是根据供应商拆分,只不过是管理了对应的采购单)
-			ReturnFB2cDetail b2cDetail = new ReturnFB2cDetail(custDetail);
-			String rfdetailid = createNumberService.generateOrderNumber(EncodingRulesConstant.RETURN_DETAIL_FROMB2C,"trade$return_fmb2c_dt", 9);
-			b2cDetail.setDetailid(rfdetailid);
-			PurchaseDetail pDetail = purchaseDetailDao.findByDetailid(custDetail.getPuid());
-			if(pDetail == null) {
-				throw new IllegalOperatorException("客户退货单对应的采购单明细信息为空");
-			}
-			String purchaseid = pDetail.getPurchase().getPurchaseid();
-			Set<ReturnFB2cDetail> list = map.get(purchaseid);
-			list = list == null ? new HashSet<ReturnFB2cDetail>() : list;
-			b2cDetail.setStatus(Status.TOBESHIPPEDBACK.value());
-			b2cDetail.setPuid(custDetail.getPuid());
-			list.add(b2cDetail);
-			map.put(purchaseid, list);
-			
-			custDetail.setStatus(Status.INSPECTED.value());//修改每个退货单明细状态
-		}
-		
-		Long uu = SystemSession.getUser().getUserUU();
-		receipt.setStatusAvailable(uu);
-		receipt.setReceiptDetails(receiptdetais);
-		receipt.setSettlement(Status.NOTSETTLED.value());
-		receiptDao.save(receipt);
-
-		for (String puids : map.keySet()) {
-			Set<ReturnFB2cDetail> set = map.get(puids);
-			Purchase purchase = purchaseDao.findByPurchaseid(puids);
-			ReturnFB2c returnB2c = new ReturnFB2c(cust);
-			returnB2c.setCreatetime(new Date());
-			returnB2c.setSellerenuu(purchase.getSellerenuu());
-			returnB2c.setSellername(purchase.getSellername());
-			returnB2c.setRfcid(cust.getReturnid());
-			// 获取订单对应供应商的地址
-			InvoiceFPurchase inFpu = invoiceFPurchaseDao.findByInvoiceid(purchase.getInid());
-			returnB2c.setJsonAddress(inFpu.getJsonSdAddress());
-			// 生成退货单号
-			String b2cid = createNumberService.generateOrderNumber(EncodingRulesConstant.RETURN_FROMB2C, "trade$return_fmb2c", 8);
-			returnB2c.setReturnid(b2cid);
-			purchase.setReturnPuId(b2cid);
-			purchase.setReturnPuStatus(Status.TOBESHIPPEDBACK.value());
-			
-			returnB2c.setStatusTobeshippedback(SystemSession.getUser().getUserUU());
-			returnB2c.setCurrency(purchase.getCurrency());
-			Double taxes = 0d;
-			Double price = 0d;
-			Double number = 0d;
-			for (ReturnFB2cDetail returnFB2cDetail : set) {
-				returnFB2cDetail.setB2creturn(returnB2c);
-				taxes = DoubleArith.add(taxes, returnFB2cDetail.getTaxes());
-				price = DoubleArith.add(price, returnFB2cDetail.getPrice());
-				number = DoubleArith.add(number, returnFB2cDetail.getNumber());
-			}
-			returnB2c.setReturnDetails(set);
-			returnB2c.setTaxes(taxes);
-			returnB2c.setPuid(puids);
-			returnB2c.setPrice(price);
-			returnB2c.setQty(number);
-			returnB2c.setPaytype(cust.getPaytype());
-			returnB2c.setCustid(cust.getId());
-			returnFB2cDao.save(returnB2c);
-		}
-		// 第3步 回改客户退货单状态
-		cust.setStatusInspected(uu);
-		String orid = cust.getOrid();
-		
-		//修改订单退货单的信息
-		Order orderReturn = orderDao.findByOrderid(orid);
-		orderReturn.setReturnStatus(Status.INSPECTED.value());
-		
-		returnFCustDao.save(cust);
-		return cust;
-	}
-
 	@Override
 	public String batchSendForVender(List<ReturnFB2c> b2cs) {
 		for (ReturnFB2c b2c : b2cs) {

+ 0 - 1
src/main/java/com/uas/platform/b2c/trade/order/model/OrderSimpleInfo.java

@@ -356,7 +356,6 @@ public class OrderSimpleInfo extends Document implements Serializable {
 	 */
 	public OrderSimpleInfo(Order order) {
 		this.id = order.getId();
-		this.inid = order.getInid();
 		this.orderid = order.getOrderid();
 		this.creattime = order.getCreattime();
 		this.availabletime = order.getAvailabletime();