Browse Source

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

administrator 11 years ago
parent
commit
206194798d

+ 48 - 3
src/main/java/com/uas/platform/b2b/erp/model/Purchase.java

@@ -9,8 +9,10 @@ import org.springframework.util.CollectionUtils;
 
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAllItem;
+import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Status;
+import com.uas.platform.core.util.encry.Md5Utils;
 
 /**
  * ERP系统的采购订单
@@ -23,6 +25,10 @@ public class Purchase {
 	private String pu_code;
 	private Date pu_date;
 	private Long em_uu;
+	private String em_name;
+	private String em_sex;
+	private String em_mobile;
+	private String em_email;
 	private Long ve_uu;
 	private Long ve_contactuu;
 	private String ve_contact;
@@ -61,6 +67,38 @@ public class Purchase {
 		this.em_uu = em_uu;
 	}
 
+	public String getEm_name() {
+		return em_name;
+	}
+
+	public void setEm_name(String em_name) {
+		this.em_name = em_name;
+	}
+
+	public String getEm_sex() {
+		return em_sex;
+	}
+
+	public void setEm_sex(String em_sex) {
+		this.em_sex = em_sex;
+	}
+
+	public String getEm_mobile() {
+		return em_mobile;
+	}
+
+	public void setEm_mobile(String em_mobile) {
+		this.em_mobile = em_mobile;
+	}
+
+	public String getEm_email() {
+		return em_email;
+	}
+
+	public void setEm_email(String em_email) {
+		this.em_email = em_email;
+	}
+
 	public Long getVe_uu() {
 		return ve_uu;
 	}
@@ -178,10 +216,17 @@ public class Purchase {
 		order.setDate(this.pu_date);
 		order.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 		order.setEnterprise(SystemSession.getUser().getEnterprise());
-		if (this.em_uu != null)
+		User user = new User();
+		user.setUserUU(this.em_uu);
+		user.setUserTel(this.em_mobile);
+		user.setUserSex(("女".equals(this.em_sex) || "F".equals(this.em_sex)) ? "F" : "M");
+		user.setUserPwd(Md5Utils.encode("111111", this.em_uu));
+		user.setUserName(this.em_name);
+		user.setUserEmail(this.em_email);
+		order.setUser(user);
+		if (this.em_uu != null) {
 			order.setUserUU(this.em_uu);
-		else
-			order.setUserUU(SystemSession.getUser().getUserUU());
+		}
 		order.setPayments(this.pu_payments);
 		order.setRemark(this.pu_remark);
 		order.setShipAddress(this.pu_shipaddresscode);

+ 32 - 2
src/main/java/com/uas/platform/b2b/erp/model/SaleDown.java

@@ -17,8 +17,11 @@ public class SaleDown {
 	private long b2b_pu_id;
 	private String sa_code;
 	private String sa_pocode;
-	private long sa_customeruu;//客户UU
-	private long sa_useruu;//企业业务员UU
+	private long sa_customeruu;// 客户UU
+	private String sa_custcontact;// 客户联系人
+	private Long sa_custcontactuu;// 客户联系人UU
+	private String sa_custmobile;// 客户联系人手机号
+	private long sa_useruu;// 企业业务员UU
 	private Date sa_date;
 	private Date sa_recorddate;
 	private String sa_payments;
@@ -123,6 +126,30 @@ public class SaleDown {
 		this.sa_useruu = sa_useruu;
 	}
 
+	public String getSa_custcontact() {
+		return sa_custcontact;
+	}
+
+	public void setSa_custcontact(String sa_custcontact) {
+		this.sa_custcontact = sa_custcontact;
+	}
+
+	public Long getSa_custcontactuu() {
+		return sa_custcontactuu;
+	}
+
+	public void setSa_custcontactuu(Long sa_custcontactuu) {
+		this.sa_custcontactuu = sa_custcontactuu;
+	}
+
+	public String getSa_custmobile() {
+		return sa_custmobile;
+	}
+
+	public void setSa_custmobile(String sa_custmobile) {
+		this.sa_custmobile = sa_custmobile;
+	}
+
 	public SaleDown() {
 	}
 
@@ -136,6 +163,9 @@ public class SaleDown {
 		this.b2b_pu_id = order.getId();
 		this.sa_code = order.getCode();
 		this.sa_customeruu = order.getEnUU();
+		this.sa_custcontactuu = order.getUserUU();
+		this.sa_custcontact = order.getUser().getUserName();
+		this.sa_custmobile = order.getUser().getUserTel();
 		this.sa_useruu = order.getVendUserUU();
 		this.sa_currency = order.getCurrency();
 		this.sa_rate = order.getRate();

+ 30 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -1,7 +1,9 @@
 package com.uas.platform.b2b.erp.service.impl;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -27,6 +29,7 @@ import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 
 @Service
@@ -64,6 +67,18 @@ public class PurchaseServiceImpl implements PurchaseService {
 				if (vendor != null && !CollectionUtils.isEmpty(order.getOrderItems())) {
 					if (order.getVendUserUU() == null && vendors.get(0).getVendorUser() != null)
 						order.setVendUserUU(vendor.getVendorUser().getUserUU());
+					User user = order.getUser();
+					if (order.getUserUU() != null) {
+						List<User> users = userDao.findUserByUserUU(order.getUserUU());
+						if (users.size() == 0)
+							user = addUser(user);
+						else
+							user = users.get(0);
+					} else {
+						user = addUser(user);
+					}
+					order.setUser(user);
+					order.setUserUU(user.getUserUU());
 					for (PurchaseOrderAllItem item : order.getOrderItems()) {
 						item.setOrder(order);
 						// 取平台的产品ID
@@ -114,6 +129,21 @@ public class PurchaseServiceImpl implements PurchaseService {
 		return null;
 	}
 
+	/**
+	 * 添加用户
+	 * 
+	 * @param user
+	 * @return
+	 */
+	private User addUser(User user) {
+		user.setUserUU(null);
+		user.setEnable(Constant.NO);
+		Set<Enterprise> enterprises = new HashSet<Enterprise>();
+		enterprises.add(SystemSession.getUser().getEnterprise());
+		user.setEnterprises(enterprises);
+		return userDao.save(user);
+	}
+
 	@Override
 	public List<PurchaseOrderReply> convertPurchaseReply(List<PurchaseReply> replies) {
 		List<PurchaseOrderReply> orderReplies = new ArrayList<PurchaseOrderReply>();

+ 17 - 2
src/main/java/com/uas/platform/b2b/model/PurchaseOrder.java

@@ -35,14 +35,21 @@ public class PurchaseOrder implements Serializable {
 	 */
 	@Column(name = "pu_enuu")
 	private Long enUU;
-	
+
 	/**
 	 * 采购企业
 	 */
-	@OneToOne(cascade = { CascadeType.MERGE })
+	@OneToOne(cascade = { CascadeType.REFRESH })
 	@JoinColumn(name = "pu_enuu", insertable = false, updatable = false)
 	private Enterprise enterprise;
 
+	/**
+	 * 采购单所属采购员
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "pu_useruu", insertable = false, updatable = false)
+	private User user;
+
 	/**
 	 * 采购单所属采购员UU
 	 */
@@ -277,4 +284,12 @@ public class PurchaseOrder implements Serializable {
 		this.enterprise = enterprise;
 	}
 
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+
 }

+ 19 - 5
src/main/java/com/uas/platform/b2b/model/PurchaseOrderAll.java

@@ -35,7 +35,7 @@ public class PurchaseOrderAll {
 	@SequenceGenerator(name = "purc$orders_gen", sequenceName = "purc$orders_seq", allocationSize = 1)
 	@Column(name = "pu_id")
 	private Long id;
-	
+
 	/**
 	 * 采购企业UU
 	 */
@@ -49,6 +49,13 @@ public class PurchaseOrderAll {
 	@JoinColumn(name = "pu_enuu", insertable = false, updatable = false)
 	private Enterprise enterprise;
 
+	/**
+	 * 采购单所属采购员
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "pu_useruu", insertable = false, updatable = false)
+	private User user;
+
 	/**
 	 * 采购单所属采购员UU
 	 */
@@ -114,7 +121,7 @@ public class PurchaseOrderAll {
 	 */
 	@Column(name = "pu_currency")
 	private String currency;
-	
+
 	/**
 	 * 汇率
 	 */
@@ -132,7 +139,7 @@ public class PurchaseOrderAll {
 	 */
 	@Column(name = "pu_status")
 	private Short status;
-	
+
 	/**
 	 * 从平台传到供应商ERP的状态
 	 */
@@ -142,8 +149,7 @@ public class PurchaseOrderAll {
 	/**
 	 * 采购单明细
 	 */
-	@OneToMany(mappedBy = "order", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE,
-			CascadeType.MERGE }, fetch = FetchType.EAGER)
+	@OneToMany(mappedBy = "order", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE }, fetch = FetchType.EAGER)
 	@Where(clause = "pd_status = 200")
 	@OrderBy("number")
 	private Set<PurchaseOrderAllItem> orderItems;
@@ -172,6 +178,14 @@ public class PurchaseOrderAll {
 		this.enterprise = enterprise;
 	}
 
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+
 	public Long getUserUU() {
 		return userUU;
 	}