Browse Source

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@311 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator 11 years ago
parent
commit
d6dd1d03c7

+ 18 - 0
src/main/java/com/uas/platform/b2b/erp/model/PurchaseChange.java

@@ -10,6 +10,7 @@ import org.springframework.util.CollectionUtils;
 import com.uas.platform.b2b.model.PurchaseOrderChange;
 import com.uas.platform.b2b.model.PurchaseOrderChange;
 import com.uas.platform.b2b.model.PurchaseOrderChangeItem;
 import com.uas.platform.b2b.model.PurchaseOrderChangeItem;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.model.Status;
 
 
 /**
 /**
@@ -29,6 +30,7 @@ public class PurchaseChange {
 	private Float pc_newrate;
 	private Float pc_newrate;
 	private String pc_description;
 	private String pc_description;
 	private String pc_remark;
 	private String pc_remark;
+	private Short pc_agreed;
 	private List<PurchaseChangeDetail> changeDetails;
 	private List<PurchaseChangeDetail> changeDetails;
 
 
 	public String getPc_code() {
 	public String getPc_code() {
@@ -103,6 +105,14 @@ public class PurchaseChange {
 		this.pc_remark = pc_remark;
 		this.pc_remark = pc_remark;
 	}
 	}
 
 
+	public Short getPc_agreed() {
+		return pc_agreed;
+	}
+
+	public void setPc_agreed(Short pc_agreed) {
+		this.pc_agreed = pc_agreed;
+	}
+
 	public List<PurchaseChangeDetail> getChangeDetails() {
 	public List<PurchaseChangeDetail> getChangeDetails() {
 		return changeDetails;
 		return changeDetails;
 	}
 	}
@@ -130,6 +140,14 @@ public class PurchaseChange {
 		change.setRemark(this.pc_remark);
 		change.setRemark(this.pc_remark);
 		change.setSendStatus((short) Status.NOT_UPLOAD.value());
 		change.setSendStatus((short) Status.NOT_UPLOAD.value());
 		change.setStatus((short) Status.NOT_REPLY.value());
 		change.setStatus((short) Status.NOT_REPLY.value());
+		change.setAgreed(this.pc_agreed);
+		if (this.pc_agreed != null && Constant.YES == this.pc_agreed) {
+			// 买家已同意的,无需再传到买家ERP
+			change.setStatus((short) Status.REPLIED.value());
+			change.setBackStatus((short) Status.DOWNLOADED.value());
+			// 买家已同意的,卖家ERP无需回复
+			change.setReplySendStatus((short) Status.DOWNLOADED.value());
+		}
 		if (!CollectionUtils.isEmpty(this.changeDetails)) {
 		if (!CollectionUtils.isEmpty(this.changeDetails)) {
 			Set<PurchaseOrderChangeItem> changeItems = new HashSet<PurchaseOrderChangeItem>();
 			Set<PurchaseOrderChangeItem> changeItems = new HashSet<PurchaseOrderChangeItem>();
 			for (PurchaseChangeDetail detail : changeDetails) {
 			for (PurchaseChangeDetail detail : changeDetails) {

+ 10 - 0
src/main/java/com/uas/platform/b2b/erp/model/SaleDownChange.java

@@ -28,6 +28,7 @@ public class SaleDownChange {
 	private Float sc_newrate;
 	private Float sc_newrate;
 	private String sc_description;
 	private String sc_description;
 	private String sc_remark;
 	private String sc_remark;
+	private Short sc_agreed;
 	private List<SaleDownChangeDetail> changeDetails;
 	private List<SaleDownChangeDetail> changeDetails;
 
 
 	public long getB2b_pc_id() {
 	public long getB2b_pc_id() {
@@ -126,6 +127,14 @@ public class SaleDownChange {
 		this.changeDetails = changeDetails;
 		this.changeDetails = changeDetails;
 	}
 	}
 
 
+	public Short getSc_agreed() {
+		return sc_agreed;
+	}
+
+	public void setSc_agreed(Short sc_agreed) {
+		this.sc_agreed = sc_agreed;
+	}
+
 	public SaleDownChange() {
 	public SaleDownChange() {
 	}
 	}
 
 
@@ -147,6 +156,7 @@ public class SaleDownChange {
 		this.sc_newrate = orderChange.getNewRate();
 		this.sc_newrate = orderChange.getNewRate();
 		this.sc_newpayments = orderChange.getNewPayments();
 		this.sc_newpayments = orderChange.getNewPayments();
 		this.sc_recorder = orderChange.getRecorder();
 		this.sc_recorder = orderChange.getRecorder();
+		this.sc_agreed = orderChange.getAgreed();
 		if (!CollectionUtils.isEmpty(orderChange.getOrderChangeItems())) {
 		if (!CollectionUtils.isEmpty(orderChange.getOrderChangeItems())) {
 			List<SaleDownChangeDetail> details = new ArrayList<SaleDownChangeDetail>();
 			List<SaleDownChangeDetail> details = new ArrayList<SaleDownChangeDetail>();
 			for (PurchaseOrderChangeItem changeItem : orderChange.getOrderChangeItems()) {
 			for (PurchaseOrderChangeItem changeItem : orderChange.getOrderChangeItems()) {

+ 21 - 11
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -22,6 +22,7 @@ import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
 
 
 @Service
 @Service
 public class PurchaseServiceImpl implements PurchaseService {
 public class PurchaseServiceImpl implements PurchaseService {
@@ -41,13 +42,15 @@ public class PurchaseServiceImpl implements PurchaseService {
 		for (Purchase purchase : purchases) {
 		for (Purchase purchase : purchases) {
 			PurchaseOrderAll order = purchase.convert();
 			PurchaseOrderAll order = purchase.convert();
 			List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(order.getEnUU(), order.getVendUU());
 			List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(order.getEnUU(), order.getVendUU());
+			Vendor vendor = null;
 			if (vendors.size() == 0) {
 			if (vendors.size() == 0) {
-				addVendor(order);
+				vendor = addVendor(order);
 			} else {
 			} else {
-				if (order.getVendUserUU() == null && vendors.get(0).getVendorUser() != null)
-					order.setVendUserUU(vendors.get(0).getVendorUser().getUserUU());
+				vendor = vendors.get(0);
 			}
 			}
-			if (!CollectionUtils.isEmpty(order.getOrderItems())) {
+			if (vendor != null && !CollectionUtils.isEmpty(order.getOrderItems())) {
+				if (order.getVendUserUU() == null && vendors.get(0).getVendorUser() != null)
+					order.setVendUserUU(vendor.getVendorUser().getUserUU());
 				for (PurchaseOrderAllItem item : order.getOrderItems()) {
 				for (PurchaseOrderAllItem item : order.getOrderItems()) {
 					item.setOrder(order);
 					item.setOrder(order);
 					// 取平台的产品ID
 					// 取平台的产品ID
@@ -77,17 +80,24 @@ public class PurchaseServiceImpl implements PurchaseService {
 	 * 
 	 * 
 	 * @param order
 	 * @param order
 	 */
 	 */
-	private void addVendor(PurchaseOrderAll order) {
+	private Vendor addVendor(PurchaseOrderAll order) {
 		Vendor vendor = new Vendor();
 		Vendor vendor = new Vendor();
 		vendor.setMyEnUU(order.getEnUU());
 		vendor.setMyEnUU(order.getEnUU());
 		vendor.setMyUserUU(SystemSession.getUser().getUserUU());
 		vendor.setMyUserUU(SystemSession.getUser().getUserUU());
 		Enterprise enterprise = enterpriseDao.findOne(order.getVendUU());
 		Enterprise enterprise = enterpriseDao.findOne(order.getVendUU());
-		vendor.setVendorEnterprise(enterprise);
-		if (order.getVendUserUU() != null) {
-			List<User> users = userDao.findByEnUUAndUserUU(enterprise.getUu(), order.getVendUserUU());
-			if (users.size() > 0)
-				vendor.setVendorUser(users.get(0));
+		if (enterprise != null) {
+			vendor.setVendorEnterprise(enterprise);
+			vendor.setVendEnUU(order.getVendUU());
+			if (order.getVendUserUU() != null) {
+				List<User> users = userDao.findByEnUUAndUserUU(enterprise.getUu(), order.getVendUserUU());
+				if (users.size() > 0) {
+					vendor.setVendorUser(users.get(0));
+					vendor.setVendUserUU(order.getVendUserUU());
+				}
+			}
+			System.out.println(FlexJsonUtils.toJson(vendor));
+			return vendorDao.save(vendor);
 		}
 		}
-		vendorDao.save(vendor);
+		return null;
 	}
 	}
 }
 }

+ 25 - 3
src/main/java/com/uas/platform/b2b/model/Vendor.java

@@ -54,18 +54,24 @@ public class Vendor implements Serializable {
 	@UserUU
 	@UserUU
 	private Long myUserUU;
 	private Long myUserUU;
 
 
+	@Column(name = "ve_vendenuu")
+	private Long vendEnUU;
+
 	/**
 	/**
 	 * 供应商的企业UU
 	 * 供应商的企业UU
 	 */
 	 */
-	@OneToOne(cascade = { CascadeType.REFRESH })
-	@JoinColumn(name = "ve_vendenuu")
+	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
+	@JoinColumn(name = "ve_vendenuu", insertable = false, updatable = false)
 	private Enterprise vendorEnterprise;
 	private Enterprise vendorEnterprise;
 
 
+	@Column(name = "ve_venduseruu")
+	private Long vendUserUU;
+
 	/**
 	/**
 	 * 供应商联系人UU
 	 * 供应商联系人UU
 	 */
 	 */
 	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
 	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
-	@JoinColumn(name = "ve_venduseruu")
+	@JoinColumn(name = "ve_venduseruu", insertable = false, updatable = false)
 	@OtherUserUU
 	@OtherUserUU
 	private User vendorUser;
 	private User vendorUser;
 
 
@@ -117,6 +123,22 @@ public class Vendor implements Serializable {
 		this.vendorUser = vendorUser;
 		this.vendorUser = vendorUser;
 	}
 	}
 
 
+	public Long getVendEnUU() {
+		return vendEnUU;
+	}
+
+	public void setVendEnUU(Long vendEnUU) {
+		this.vendEnUU = vendEnUU;
+	}
+
+	public Long getVendUserUU() {
+		return vendUserUU;
+	}
+
+	public void setVendUserUU(Long vendUserUU) {
+		this.vendUserUU = vendUserUU;
+	}
+
 	@Override
 	@Override
 	public String toString() {
 	public String toString() {
 		return this.vendorEnterprise.getEnName();
 		return this.vendorEnterprise.getEnName();