Browse Source

合并dev分支代码

hejq 8 years ago
parent
commit
90c6dfd375
49 changed files with 1935 additions and 1926 deletions
  1. 5 5
      pom.xml
  2. 1 2
      src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java
  3. 4 6
      src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java
  4. 2 2
      src/main/java/com/uas/platform/b2b/controller/InvitationRecordController.java
  5. 8 0
      src/main/java/com/uas/platform/b2b/dao/InvitationRecordDao.java
  6. 9 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java
  7. 86 0
      src/main/java/com/uas/platform/b2b/erp/controller/CheckTransController.java
  8. 210 0
      src/main/java/com/uas/platform/b2b/erp/model/AutOrder.java
  9. 123 0
      src/main/java/com/uas/platform/b2b/erp/model/AutOrderDetail.java
  10. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java
  11. 10 0
      src/main/java/com/uas/platform/b2b/erp/model/KeywordAlias.java
  12. 37 0
      src/main/java/com/uas/platform/b2b/erp/model/OrderClass.java
  13. 13 0
      src/main/java/com/uas/platform/b2b/erp/model/ProdInOutRefreshPrice.java
  14. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/Purchase.java
  15. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java
  16. 8 0
      src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java
  17. 9 4
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java
  18. 7 0
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java
  19. 17 1
      src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java
  20. 17 4
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java
  21. 16 0
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java
  22. 1 1
      src/main/java/com/uas/platform/b2b/event/SaleSendAcceptReleaseEvent.java
  23. 3 3
      src/main/java/com/uas/platform/b2b/model/DeputyOrderItem.java
  24. 42 41
      src/main/java/com/uas/platform/b2b/model/Enterprise.java
  25. 1 0
      src/main/java/com/uas/platform/b2b/model/EnterpriseBaseInfo.java
  26. 84 0
      src/main/java/com/uas/platform/b2b/model/InvitationRecord.java
  27. 23 1
      src/main/java/com/uas/platform/b2b/service/InvitationRecordService.java
  28. 4 50
      src/main/java/com/uas/platform/b2b/service/impl/DeputyOrderServiceImpl.java
  29. 45 13
      src/main/java/com/uas/platform/b2b/service/impl/EnterpriseServiceImpl.java
  30. 177 79
      src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java
  31. 1 1
      src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java
  32. 9 12
      src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java
  33. 20 1
      src/main/java/com/uas/platform/b2b/v2/controller/EnterpriseController.java
  34. 7 3
      src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java
  35. 8 0
      src/main/java/com/uas/platform/b2b/v2/service/InviteRecordService.java
  36. 8 2
      src/main/java/com/uas/platform/b2b/v2/service/impl/EnterpriseServiceImpl.java
  37. 51 69
      src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java
  38. 1 1
      src/main/resources/dev/message.properties
  39. 1 1
      src/main/resources/dev/sys.properties
  40. 1 1
      src/main/resources/prod/message.properties
  41. 1 1
      src/main/resources/prod/sys.properties
  42. 10 10
      src/main/resources/test/account.properties
  43. 1 1
      src/main/resources/test/message.properties
  44. 1 1
      src/main/resources/test/sys.properties
  45. 3 35
      src/main/webapp/resources/js/index/app.js
  46. 0 752
      src/main/webapp/resources/lib/require.js
  47. 1 1
      src/main/webapp/resources/tpl/index/fa/arCheck_detail.html
  48. 3 3
      src/main/webapp/resources/tpl/index/make/returns.html
  49. 819 819
      src/main/webapp/resources/tpl/index/purc/inquiry_new.html

+ 5 - 5
pom.xml

@@ -40,7 +40,7 @@
             <properties>
                 <profile>prod</profile>
                 <!-- static plugin -->
-                <static-path>http://static.ubtob.com</static-path>
+                <static-path>static</static-path>
             </properties>
             <!-- 默认 -->
 
@@ -362,7 +362,7 @@
         </resources>
         <!-- 在maven生命周期validate阶段生成timestamp -->
         <plugins>
-            <!--<plugin>
+            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>buildnumber-maven-plugin</artifactId>
                 <version>1.3</version>
@@ -395,7 +395,7 @@
                 <groupId>com.samaxes.maven</groupId>
                 <artifactId>minify-maven-plugin</artifactId>
                 <version>1.7.4</version>
-                &lt;!&ndash; 静态文件压缩  &ndash;&gt;
+                <!-- 静态文件压缩  -->
                 <executions>
                     <execution>
                         <id>default-minify</id>
@@ -456,7 +456,7 @@
                 <groupId>com.uas.plugins</groupId>
                 <artifactId>static-maven-plugin</artifactId>
                 <version>0.0.2-SNAPSHOT</version>
-                &lt;!&ndash; 静态资源分离  &ndash;&gt;
+                <!-- 静态资源分离  -->
                 <executions>
                     <execution>
                         <id>default-static</id>
@@ -500,7 +500,7 @@
                         </resource>
                     </webResources>
                 </configuration>
-            </plugin>-->
+            </plugin>
             <plugin>
                 <groupId>org.apache.tomcat.maven</groupId>
                 <artifactId>tomcat7-maven-plugin</artifactId>

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

@@ -414,8 +414,7 @@ public class BaseInfoController {
 	 * @modify-desc 增加操作日志
 	 */
 	@RequestMapping(value = "/addtoCart", method = RequestMethod.POST)
-	public ResponseEntity<ModelMap> save(String token, @RequestBody String json) {
-		NewPurcOrder neworder = JSONObject.parseObject(json, NewPurcOrder.class);
+	public ResponseEntity<ModelMap> save(String token, @RequestBody NewPurcOrder neworder) {
 		ModelMap map = new ModelMap();
 		boolean flag = tokenService.enabled(token);
 		if (flag) {

+ 4 - 6
src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java

@@ -120,12 +120,11 @@ public class DeputyOrderController {
 	/**
 	 * 保存代采订单
 	 * 
-	 * @param deOrder
+	 * @param deorder
 	 * @return
 	 */
 	@RequestMapping(value = "/edit/saveDeOrder", method = RequestMethod.POST)
-	public ModelMap saveDeOrder(@RequestBody String deOrder) {
-		DeputyOrder deorder = JSON.parseObject(deOrder, DeputyOrder.class);
+	public ModelMap saveDeOrder(@RequestBody DeputyOrder deorder) {
 		deorder.setEntrystatus("保存");
 		return deputyOrderService.saveDeOrder(deorder);
 	}
@@ -133,12 +132,11 @@ public class DeputyOrderController {
 	/**
 	 * 提交代采订单
 	 *
-	 * @param deOrder
+	 * @param deorder
 	 * @return
 	 */
 	@RequestMapping(value = "/submit/saveDeOrder", method = RequestMethod.POST)
-	public ModelMap submitDeOrder(@RequestBody String deOrder) {
-		DeputyOrder deorder = JSON.parseObject(deOrder, DeputyOrder.class);
+	public ModelMap submitDeOrder(@RequestBody DeputyOrder deorder) {
 		deorder.setEntrystatus("已提交");
 		return deputyOrderService.saveDeOrder(deorder);
 	}

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

@@ -156,8 +156,8 @@ public class InvitationRecordController {
 	private ModelMap setenterprise() {
         String url = ContextUtils.getBean(SysConf.class).getRegisterUrl();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        url = url + "?inviteUserCode=" + SystemSession.getUser().getUserUU() + "&inviteuid="
-                + SystemSession.getUser().getEnterprise().getEnBussinessCode() + "&invitationTime=" + sdf.format(new Date()) + "&source=B2B";
+        url = url + "?inviteUserUU=" + SystemSession.getUser().getUserUU() + "&inviteSpaceUU="
+                + SystemSession.getUser().getEnterprise().getUu() + "&invitationTime=" + sdf.format(new Date()) + "&source=B2B";
         logger.log("邀请注册", "获取邀请链接", url);
 		return new ModelMap("url", url);
 	}

+ 8 - 0
src/main/java/com/uas/platform/b2b/dao/InvitationRecordDao.java

@@ -45,4 +45,12 @@ public interface InvitationRecordDao
 	 * @return
 	 */
 	List<InvitationRecord> findByVendname(String vednName);
+
+	/**
+	 * 通过注册UU号查询邀请记录
+	 *
+	 * @param enuu uu号
+	 * @return
+	 */
+    List<InvitationRecord> findByVenduu(Long enuu);
 }

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java

@@ -76,4 +76,13 @@ public interface PurchaseOrderDao extends JpaSpecificationExecutor<PurchaseOrder
      */
 	@Query("select p.id from PurchaseOrderAll p where p.id in :ids and p.status=200 and IFNULL(p.end,0)=0")
 	List<Long> findNotReplyId(@Param("ids") List<Long> ids);
+
+	/**
+	 * 通过企业UU和来源id查询单据是否存在
+	 *
+	 * @param uu
+	 * @param id
+	 * @return
+	 */
+	List<PurchaseOrder> findByEnUUAndAndErpId(Long uu, Long id);
 }

+ 86 - 0
src/main/java/com/uas/platform/b2b/erp/controller/CheckTransController.java

@@ -0,0 +1,86 @@
+package com.uas.platform.b2b.erp.controller;
+
+import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.Purchase;
+import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.service.InquiryService;
+import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
+import com.uas.platform.b2b.erp.service.PurchaseService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * 针对每个数据传输进行数据传输验证(针对买家)
+ *
+ * Created by hejq on 2018-04-19.
+ */
+@RequestMapping("/erp/buyer")
+@RestController
+public class CheckTransController {
+
+    @Autowired
+    private InquiryService inquiryService;
+
+    @Autowired
+    private PurchaseService purchaseService;
+
+    @Autowired
+    private PurchaseNotifyService purchaseNotifyService;
+
+    private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
+    /**
+     * 通过上传的数据查询询价单在平台是否存在
+     *
+     * @param data 封装的上传的数据
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/inquiry", method = RequestMethod.POST)
+    public List<Inquiry> getInquiryB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Inquiry> inquiryList = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
+        logger.log("单据传输检测", "采购询价单", inquiryList.size());
+        return inquiryService.getB2bId(inquiryList);
+    }
+
+    /**
+     * 通过上传id查询平台采购单对应的id
+     *
+     * @param data 封装的id信息
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/purchase", method = RequestMethod.POST)
+    public List<Purchase> getPurchaseB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Purchase> purchaseList = FlexJsonUtils.fromJsonArray(jsonStr, Purchase.class);
+        logger.log("单据传输检测", "采购订单", purchaseList.size());
+        return purchaseService.getB2bId(purchaseList);
+    }
+
+    /**
+     * 通过上传id查询平台送货提醒对应的id
+     *
+     * @param data 封装的id信息
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/notify", method = RequestMethod.POST)
+    public List<PurchaseNotify> getPurchaseNotifyB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<PurchaseNotify> notifyList = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseNotify.class);
+        logger.log("单据传输检测", "送货提醒", notifyList.size());
+        return purchaseNotifyService.getB2bId(notifyList);
+    }
+}

+ 210 - 0
src/main/java/com/uas/platform/b2b/erp/model/AutOrder.java

@@ -0,0 +1,210 @@
+package com.uas.platform.b2b.erp.model;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 自动转换订单
+ *
+ * Created by hejq on 2018-05-02.
+ */
+public class AutOrder implements Serializable {
+
+    /**
+     * default serialVersionUID
+     */
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 采购单号
+     */
+    private String pu_code;
+
+    /**
+     * 采购日期
+     */
+    private String pu_date;
+
+    /**
+     * 采购单所属采购员名称
+     */
+    private String em_name;
+
+    /**
+     * 采购单所属采购员联系方式
+     */
+    private String em_mobile;
+
+    /**
+     * 所属采购员邮箱
+     */
+    private String em_email;
+
+    /**
+     * 采购方
+     */
+    private String en_name;
+
+    /**
+     * 供应商
+     */
+    private String ve_name;
+
+    /**
+     * 币别
+     */
+    private String pu_currency;
+
+    /**
+     * 税率
+     */
+    private String pu_rate;
+
+    /**
+     * 采购类型
+     */
+    private String pu_kind;
+
+    /**
+     * 付款方式
+     */
+    private String pu_payments;
+
+    /**
+     * 送货地址
+     */
+    private String pu_shipaddresscode;
+
+    /**
+     * PDF文档的路径
+     */
+    private String pu_filepath;
+
+    /**
+     * 对应的采购单详情List
+     */
+    private List<AutOrderDetail> details;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getPu_code() {
+        return pu_code;
+    }
+
+    public void setPu_code(String pu_code) {
+        this.pu_code = pu_code;
+    }
+
+    public String getPu_date() {
+        return pu_date;
+    }
+
+    public void setPu_date(String pu_date) {
+        this.pu_date = pu_date;
+    }
+
+    public String getEm_name() {
+        return em_name;
+    }
+
+    public void setEm_name(String em_name) {
+        this.em_name = em_name;
+    }
+
+    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 String getEn_name() {
+        return en_name;
+    }
+
+    public void setEn_name(String en_name) {
+        this.en_name = en_name;
+    }
+
+    public String getVe_name() {
+        return ve_name;
+    }
+
+    public void setVe_name(String ve_name) {
+        this.ve_name = ve_name;
+    }
+
+    public String getPu_currency() {
+        return pu_currency;
+    }
+
+    public void setPu_currency(String pu_currency) {
+        this.pu_currency = pu_currency;
+    }
+
+    public String getPu_rate() {
+        return pu_rate;
+    }
+
+    public void setPu_rate(String pu_rate) {
+        this.pu_rate = pu_rate;
+    }
+
+    public String getPu_kind() {
+        return pu_kind;
+    }
+
+    public void setPu_kind(String pu_kind) {
+        this.pu_kind = pu_kind;
+    }
+
+    public String getPu_payments() {
+        return pu_payments;
+    }
+
+    public void setPu_payments(String pu_payments) {
+        this.pu_payments = pu_payments;
+    }
+
+    public String getPu_shipaddresscode() {
+        return pu_shipaddresscode;
+    }
+
+    public void setPu_shipaddresscode(String pu_shipaddresscode) {
+        this.pu_shipaddresscode = pu_shipaddresscode;
+    }
+
+    public String getPu_filepath() {
+        return pu_filepath;
+    }
+
+    public void setPu_filepath(String pu_filepath) {
+        this.pu_filepath = pu_filepath;
+    }
+
+    public List<AutOrderDetail> getDetails() {
+        return details;
+    }
+
+    public void setDetails(List<AutOrderDetail> details) {
+        this.details = details;
+    }
+}

+ 123 - 0
src/main/java/com/uas/platform/b2b/erp/model/AutOrderDetail.java

@@ -0,0 +1,123 @@
+package com.uas.platform.b2b.erp.model;
+
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * 自动生成订单明细
+ *
+ * Created by hejq on 2018-05-02.
+ */
+public class AutOrderDetail implements Serializable {
+
+    /**
+     * default serialVersionUID
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 物料编号
+     */
+    private String pd_prodcode;
+
+    /**
+     * 采购数量
+     */
+    private String pd_qty;
+
+    /**
+     * 采购价格
+     */
+    private String pd_price;
+
+    /**
+     * 交期
+     */
+    private String pd_delivery;
+
+    /**
+     * 税率税率
+     */
+    private String pd_rate;
+
+    /**
+     * 序号
+     */
+    private String pd_detno;
+
+    /**
+     * 采购订单
+     */
+    private AutOrder order;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getPd_prodcode() {
+        return pd_prodcode;
+    }
+
+    public void setPd_prodcode(String pd_prodcode) {
+        this.pd_prodcode = pd_prodcode;
+    }
+
+    public String getPd_qty() {
+        return pd_qty;
+    }
+
+    public void setPd_qty(String pd_qty) {
+        this.pd_qty = pd_qty;
+    }
+
+    public String getPd_price() {
+        return pd_price;
+    }
+
+    public void setPd_price(String pd_price) {
+        this.pd_price = pd_price;
+    }
+
+    public String getPd_delivery() {
+        return pd_delivery;
+    }
+
+    public void setPd_delivery(String pd_delivery) {
+        this.pd_delivery = pd_delivery;
+    }
+
+    public String getPd_rate() {
+        return pd_rate;
+    }
+
+    public void setPd_rate(String pd_rate) {
+        this.pd_rate = pd_rate;
+    }
+
+    public String getPd_detno() {
+        return pd_detno;
+    }
+
+    public void setPd_detno(String pd_detno) {
+        this.pd_detno = pd_detno;
+    }
+
+    public AutOrder getOrder() {
+        return order;
+    }
+
+    public void setOrder(AutOrder order) {
+        this.order = order;
+    }
+}

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java

@@ -28,6 +28,7 @@ public class Inquiry {
 	private String in_pricetype;
 	private List<InquiryDetail> details;
 	private String in_kind; //询价类型
+	private Long in_b2bid; // b2b存储的id信息
 	/**
 	 * 主动报价时,平台的主动报价单SaleQuotation的ID
 	 */
@@ -163,6 +164,14 @@ public class Inquiry {
 		this.in_kind = in_kind;
 	}
 
+	public Long getIn_b2bid() {
+		return in_b2bid;
+	}
+
+	public void setIn_b2bid(Long in_b2bid) {
+		this.in_b2bid = in_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购询价
 	 * 

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

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.erp.model;
+
+
+/**
+ * 关键词别名
+ *
+ * Created by hejq on 2018-05-02.
+ */
+public class KeywordAlias {
+}

+ 37 - 0
src/main/java/com/uas/platform/b2b/erp/model/OrderClass.java

@@ -0,0 +1,37 @@
+package com.uas.platform.b2b.erp.model;
+
+/**
+ * ERP出入库单据类型
+ *
+ * Created by hejq on 2018-04-23.
+ */
+public enum OrderClass {
+
+    /**
+     * 采购验收单
+     */
+    PURC_ACCEPT(1, "采购验收单"),
+
+    /**
+     * 采购验退单
+     */
+    PURC_RETURN(2, "采购验退单"),
+
+    /**
+     * 委外验收单
+     */
+    MAKE_ACCEPT(3, "委外验收单"),
+
+    /**
+     * 委外验退单
+     */
+    MAKE_RETURN(4, "委外验退单");
+
+    private final int value;
+    private final String phrase;
+
+    OrderClass(int value, String phrase) {
+        this.value = value;
+        this.phrase = phrase;
+    }
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/erp/model/ProdInOutRefreshPrice.java

@@ -37,6 +37,11 @@ public class ProdInOutRefreshPrice {
 	 */
 	private Short pd_orderdetno;
 
+	/**
+	 * 单据类型
+	 */
+	private String pbu_piclass;
+
 	public Short getPbu_pdno() {
 		return pbu_pdno;
 	}
@@ -92,4 +97,12 @@ public class ProdInOutRefreshPrice {
 	public void setPd_orderdetno(Short pd_orderdetno) {
 		this.pd_orderdetno = pd_orderdetno;
 	}
+
+	public String getPbu_piclass() {
+		return pbu_piclass;
+	}
+
+	public void setPbu_piclass(String pbu_piclass) {
+		this.pbu_piclass = pbu_piclass;
+	}
 }

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Purchase.java

@@ -53,6 +53,7 @@ public class Purchase {
 	private String pu_custcode; // 客户编号,
 	private String pu_custname; // 客户名称。
 	private String pu_transport;
+	private Long pu_b2bid;// 查询平台的id号
 
 	public String getPu_code() {
 		return pu_code;
@@ -302,6 +303,14 @@ public class Purchase {
 		this.pu_transport = pu_transport;
 	}
 
+	public Long getPu_b2bid() {
+		return pu_b2bid;
+	}
+
+	public void setPu_b2bid(Long pu_b2bid) {
+		this.pu_b2bid = pu_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购订单
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java

@@ -26,6 +26,7 @@ public class PurchaseNotify {
 	private String pn_remark;
 	private Double pn_endqty;
 	private Double pr_zxbzs;// 物料最小包装数
+	private Long pn_b2bid; //b2bid
 
 	public long getPn_id() {
 		return pn_id;
@@ -107,6 +108,14 @@ public class PurchaseNotify {
 		this.pr_zxbzs = pr_zxbzs;
 	}
 
+	public Long getPn_b2bid() {
+		return pn_b2bid;
+	}
+
+	public void setPn_b2bid(Long pn_b2bid) {
+		this.pn_b2bid = pn_b2bid;
+	}
+
 	/**
 	 * 转为平台的客户送货提醒
 	 * 

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

@@ -58,4 +58,12 @@ public interface InquiryService {
      * @param details
      */
     void save(List<InquiryDetail> details);
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	List<Inquiry> getB2bId(List<Inquiry> inquiryList);
 }

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

@@ -2,10 +2,7 @@ package com.uas.platform.b2b.erp.service;
 
 import java.util.List;
 
-import com.uas.platform.b2b.erp.model.AcceptNotify;
-import com.uas.platform.b2b.erp.model.AcceptNotifyConfirm;
-import com.uas.platform.b2b.erp.model.AcceptNotifyVerify;
-import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.SaleSend;
 import com.uas.platform.b2b.model.SaleSendItem;
@@ -62,4 +59,12 @@ public interface PurchaseNotifyService {
 	List<SaleSendItemVerify> convertAcceptUnauditVerify(List<AcceptNotifyVerify> verifies);
 
     List<List<PurchaseNotice>> convertEDIPurchaseNotify(List<PurchaseNotify> notifies, Long enUU);
+
+	/**
+	 * 通过上传的送货提醒id查询平台对应的id
+	 *
+	 * @param notifyList 送货提醒
+	 * @return
+	 */
+	List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList);
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java

@@ -53,4 +53,11 @@ public interface PurchaseService {
 	 */
 	List<MessageLog> convertMessageLog(List<PrintLog> printNotUploadReply);
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+     *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+    List<Purchase> getB2bId(List<Purchase> purchaseList);
 }

+ 17 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import com.uas.sso.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
@@ -297,4 +296,21 @@ public class InquiryServiceImpl implements InquiryService {
         List<Inquiry> inquiries = commonDao.getJdbcTemplate().query(sql, new BeanPropertyRowMapper<Inquiry>(Inquiry.class));
         return inquiries.size() > 0 ? inquiries.get(0) : null;
     }
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	@Override
+	public List<Inquiry> getB2bId(List<Inquiry> inquiryList) {
+		for (Inquiry inquiry : inquiryList) {
+			List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), inquiry.getIn_id());
+			if (!CollectionUtils.isEmpty(inquiries)) {
+				inquiry.setIn_b2bid(inquiries.get(0).getId());
+			}
+		}
+		return inquiryList;
+	}
 }

+ 17 - 4
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java

@@ -4,10 +4,7 @@ import com.uas.platform.b2b.dao.PurchaseNoticeDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.SaleSendItemDao;
 import com.uas.platform.b2b.dao.SaleSendItemVerifyDao;
-import com.uas.platform.b2b.erp.model.AcceptNotify;
-import com.uas.platform.b2b.erp.model.AcceptNotifyConfirm;
-import com.uas.platform.b2b.erp.model.AcceptNotifyVerify;
-import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
@@ -256,4 +253,20 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
 		return sendItemVerifies;
 	}
 
+	/**
+	 * 通过上传的送货提醒id查询平台对应的id
+	 *
+	 * @param notifyList 送货提醒
+	 * @return
+	 */
+	@Override
+	public List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList) {
+	    for (PurchaseNotify notify : notifyList) {
+            List<PurchaseNotice> noticeList = purchaseNoticeDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), notify.getPn_id());
+            if (!CollectionUtils.isEmpty(noticeList)) {
+                notify.setPn_b2bid(noticeList.get(0).getId());
+            }
+        }
+		return notifyList;
+	}
 }

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

@@ -246,4 +246,20 @@ public class PurchaseServiceImpl implements PurchaseService {
 		return messageLogs;
     }
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+	 *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+	@Override
+	public List<Purchase> getB2bId(List<Purchase> purchaseList) {
+		for (Purchase purchase : purchaseList) {
+            List<PurchaseOrder> purchaseOrders = purchaseOrderDao.findByEnUUAndAndErpId(SystemSession.getUser().getEnterprise().getUu(), purchase.getPu_id());
+		    if (!CollectionUtils.isEmpty(purchaseOrders)) {
+		        purchase.setPu_b2bid(purchaseOrders.get(0).getId());
+            }
+		}
+		return purchaseList;
+	}
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/event/SaleSendAcceptReleaseEvent.java

@@ -34,7 +34,7 @@ public class SaleSendAcceptReleaseEvent extends SaveReleaseEvent<PagingReleaseDe
 	public PagingReleaseDetail release(SaleSend send) {
         Long emUU = send.getCustUserUU();
         String emName = "操作员";
-        if (null == send.getCustUser()) {
+        if (null != send.getCustUser()) {
             emName = send.getCustUser().getUserName();
         }
         Long enUU = send.getCustUU();

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

@@ -65,7 +65,7 @@ public class DeputyOrderItem implements Serializable {
 	 * 数量
 	 */
 	@Column(name = "dei_amount")
-	private Integer amount;
+	private Double amount;
 	
 	/**
 	 * 单价
@@ -142,11 +142,11 @@ public class DeputyOrderItem implements Serializable {
 		this.prodspec = prodspec;
 	}
 
-	public Integer getAmount() {
+	public Double getAmount() {
 		return amount;
 	}
 
-	public void setAmount(Integer amount) {
+	public void setAmount(Double amount) {
 		this.amount = amount;
 	}
 

+ 42 - 41
src/main/java/com/uas/platform/b2b/model/Enterprise.java

@@ -30,7 +30,8 @@ public class Enterprise implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@Id
-	@GeneratedValue(strategy = GenerationType.AUTO)
+//	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "enterprises_gen")
+//	@SequenceGenerator(name = "enterprises_gen", sequenceName = "enterprises_seq", allocationSize = 1)
 	@Column(name = "en_uu")
 	private Long uu;
 
@@ -280,29 +281,29 @@ public class Enterprise implements Serializable {
 	@Column(name = "en_weight")
 	private Integer weight;
 
-	/**
-	 * 邀请企业UU
-	 */
+    /**
+     * 邀请企业UU
+     */
 	@Column(name = "en_inviteuu")
-	private Long inviteUU;
+    private Long inviteUU;
 
-	/**
-	 * 邀请用户UU
-	 */
+    /**
+     * 邀请用户UU
+     */
 	@Column(name = "en_inviteuseruu")
-	private Long inviteUserUU;
+    private Long inviteUserUU;
 
-	/**
-	 * 邀请时间
-	 */
+    /**
+     * 邀请时间
+     */
 	@Column(name = "en_invitetime")
-	private Long inviteTime;
+    private Long inviteTime;
 
-	/**
-	 * 邀请来源
-	 */
+    /**
+     * 邀请来源
+     */
 	@Column(name = "en_invitesource")
-	private String inviteSource;
+    private String inviteSource;
 
 	public String getEnManagement() {
 		return enManagement;
@@ -787,35 +788,35 @@ public class Enterprise implements Serializable {
 		this.weight = weight;
 	}
 
-	public Long getInviteUU() {
-		return inviteUU;
-	}
+    public Long getInviteUU() {
+        return inviteUU;
+    }
 
-	public void setInviteUU(Long inviteUU) {
-		this.inviteUU = inviteUU;
-	}
+    public void setInviteUU(Long inviteUU) {
+        this.inviteUU = inviteUU;
+    }
 
-	public Long getInviteUserUU() {
-		return inviteUserUU;
-	}
+    public Long getInviteUserUU() {
+        return inviteUserUU;
+    }
 
-	public void setInviteUserUU(Long inviteUserUU) {
-		this.inviteUserUU = inviteUserUU;
-	}
+    public void setInviteUserUU(Long inviteUserUU) {
+        this.inviteUserUU = inviteUserUU;
+    }
 
-	public Long getInviteTime() {
-		return inviteTime;
-	}
+    public Long getInviteTime() {
+        return inviteTime;
+    }
 
-	public void setInviteTime(Long inviteTime) {
-		this.inviteTime = inviteTime;
-	}
+    public void setInviteTime(Long inviteTime) {
+        this.inviteTime = inviteTime;
+    }
 
-	public String getInviteSource() {
-		return inviteSource;
-	}
+    public String getInviteSource() {
+        return inviteSource;
+    }
 
-	public void setInviteSource(String inviteSource) {
-		this.inviteSource = inviteSource;
-	}
+    public void setInviteSource(String inviteSource) {
+        this.inviteSource = inviteSource;
+    }
 }

+ 1 - 0
src/main/java/com/uas/platform/b2b/model/EnterpriseBaseInfo.java

@@ -273,5 +273,6 @@ public class EnterpriseBaseInfo implements Serializable {
         this.enTel = e.getEnTel();
         this.date = e.getEnDate();
         this.enCorporation = e.getEnCorporation();
+        this.enEstablishDate = e.getEnDate();
     }
 }

+ 84 - 0
src/main/java/com/uas/platform/b2b/model/InvitationRecord.java

@@ -141,6 +141,42 @@ public class InvitationRecord implements Serializable {
 	@Transient
 	private Date registerDate;
 
+	/**
+	 * 邀请注册的人,记录是从哪个链接去注册的
+	 */
+	@Transient
+	private String inviteUserName;
+
+	/**
+	 * 邀请注册的企业,记录是从哪个链接去注册的
+	 */
+	@Transient
+	private String inviteEnName;
+
+    /**
+     * 地址
+     */
+	@Transient
+    private String enAddress;
+
+    /**
+     * 法人
+     */
+	@Transient
+    private String enCorporation;
+
+    /**
+     * 管理员姓名
+     */
+	@Transient
+    private String adminName;
+
+    /**
+     * 企业电话
+     */
+	@Transient
+    private String enTel;
+
 	public Long getId() {
 		return id;
 	}
@@ -300,4 +336,52 @@ public class InvitationRecord implements Serializable {
     public void setRegisterDate(Date registerDate) {
         this.registerDate = registerDate;
     }
+
+	public String getInviteUserName() {
+		return inviteUserName;
+	}
+
+	public void setInviteUserName(String inviteUserName) {
+		this.inviteUserName = inviteUserName;
+	}
+
+	public String getInviteEnName() {
+		return inviteEnName;
+	}
+
+	public void setInviteEnName(String inviteEnName) {
+		this.inviteEnName = inviteEnName;
+	}
+
+    public String getEnAddress() {
+        return enAddress;
+    }
+
+    public void setEnAddress(String enAddress) {
+        this.enAddress = enAddress;
+    }
+
+    public String getEnCorporation() {
+        return enCorporation;
+    }
+
+    public void setEnCorporation(String enCorporation) {
+        this.enCorporation = enCorporation;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public String getEnTel() {
+        return enTel;
+    }
+
+    public void setEnTel(String enTel) {
+        this.enTel = enTel;
+    }
 }

+ 23 - 1
src/main/java/com/uas/platform/b2b/service/InvitationRecordService.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.service;
 
-import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.search.b2b.model.PageParams;
@@ -62,4 +61,27 @@ public interface InvitationRecordService {
 	 * 通过被邀请企业的名称查询邀请记录
 	 */
 	List<InvitationRecord> findbyVendName(String name);
+
+	/**
+	 * 通过注册UU号查询邀请记录
+	 *
+	 * @param enuu 注册UU号
+	 * @return
+	 */
+	List<InvitationRecord> findByVendUU(Long enuu);
+
+    /**
+     * 发送邮件通知
+     *
+     * @param record 邀请记录
+     */
+	void sendEmail(final InvitationRecord record);
+
+    /**
+     * 同步到账户中心
+     *
+     * @param record 邀请记录
+     * @param businessCode 营业执照
+     */
+    void syncToAccount(InvitationRecord record, String businessCode);
 }

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

@@ -18,6 +18,7 @@ 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.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
@@ -175,51 +176,18 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 		if (flag) {
 			// 金额保留两位小数
 			DecimalFormat df = new java.text.DecimalFormat("#.00");
-			order.setActualpaydate(deorder.getActualpaydate());
-			order.setActusdpayment(deorder.getActusdpayment());
-			order.setBankaccount(deorder.getBankaccount());
-			order.setBankaddress(deorder.getBankaddress());
-			order.setBankcode(deorder.getBankcode());
-			order.setBankname(deorder.getBankname());
-			order.setCode(deorder.getCode());
-			order.setCompanyname(deorder.getCompanyname());
-			order.setCustomer(deorder.getCustomer());
-			order.setDeliverydate(deorder.getDeliverydate());
-			order.setDeliverymethod(deorder.getDeliverymethod());
-			order.setEnaddress(deorder.getEnaddress());
-			order.setEnfax(deorder.getEnfax());
-			order.setEntrydate(deorder.getEntrydate());
-			order.setGoodspacking(deorder.getGoodspacking());
-			order.setLegalrepresent(deorder.getLegalrepresent());
-			order.setMadealcode(deorder.getMadealcode());
-			order.setMadealdate(deorder.getMadealdate());
+			BeanUtils.copyProperties(deorder, order, DeputyOrder.class);
 			order.setDate(new Date());
-			order.setPaydate(deorder.getPaydate());
-			order.setPaydeldate(deorder.getPaydeldate());
-			order.setPaymentdate(deorder.getPaymentdate());
-			order.setPaymentmethod(deorder.getPaymentmethod());
-			order.setPickupmethod(deorder.getPickupmethod());
-			order.setProstatus(deorder.getProstatus());
-			order.setProstatuscode(deorder.getProstatuscode());
-			order.setRequirepaydate(deorder.getRequirepaydate());
-			order.setRiskmethod(deorder.getRiskmethod());
-			order.setShipdate(deorder.getShipdate());
 			order.setDownloadstatus("未下载");
-			order.setSalecode(deorder.getSalecode());
-			order.setSalepocode(deorder.getSalepocode());
+			order.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+			order.setUseruu(SystemSession.getUser().getUserUU());
 			if(null != deorder.getOrderamount()) {//存在金额为空值的情况
                 order.setOrderamount(Double.valueOf(df.format(deorder.getOrderamount())));
             }
-			order.setPaymethod(deorder.getPaymethod());
-			order.setDeputyname(deorder.getDeputyname());
 			if (deorder.getStatus().equals("在录入")) {
 				order.setStatus(Status.UNAUDIT.getPhrase());
 				order.setStatuscode(Status.UNAUDIT.value());
 			}
-			order.setTaxpaymentmethod(deorder.getTaxpaymentmethod());
-			order.setTervendaddress(deorder.getTervendaddress());
-			order.setTervendor(deorder.getTervendor());
-			order.setTervenduu(deorder.getTervenduu());
 			if(null != deorder.getTotalamount()) {
                 order.setTotalamount(Double.valueOf(df.format(deorder.getTotalamount())));
             }
@@ -229,20 +197,6 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
             if(null != deorder.getUsdpayment()) {
                 order.setUsdpayment(Double.valueOf(df.format(deorder.getUsdpayment())));
             }
-			order.setUsertel(deorder.getUsertel());
-			order.setVendtel(deorder.getVendtel());
-			order.setVenduser(deorder.getVenduser());
-			order.setVenduseruu(deorder.getVenduseruu());
-			order.setEnuu(SystemSession.getUser().getEnterprise().getUu());
-			order.setUseruu(SystemSession.getUser().getUserUU());
-			order.setEntrystatus(deorder.getEntrystatus());
-			order.setDeputyuu(deorder.getDeputyuu());// TODO
-			order.setPaycomaddress(deorder.getPaycomaddress());
-			order.setPaycomname(deorder.getPaycomname());
-			order.setRate(deorder.getRate());
-			order.setCurrency(deorder.getCurrency());
-			order.setOtherdata(deorder.getOtherdata());
-			order.setPickupdate(deorder.getPickupdate());
 			order = deputyOrderDao.save(order);
 			int i = 1;
 			List<DeputyOrderItem> items = new ArrayList<DeputyOrderItem>();

+ 45 - 13
src/main/java/com/uas/platform/b2b/service/impl/EnterpriseServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.sso.entity.UserSpaceView;
 import com.uas.sso.entity.UserSpaceDetail;
+import com.uas.sso.entity.UserView;
 import com.uas.sso.util.AccountUtils;
 import com.uas.platform.b2b.core.util.SearchKeyUtils;
 import com.uas.platform.b2b.dao.*;
@@ -678,6 +679,16 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		enterprise.setEnable(Constant.YES);
 		enterprise.setEnStatus((short) Status.UNAUDIT.value());// 审核状态设为未审核
 		enterprise.setEnSendStatus((short) Status.NOT_UPLOAD.value());// 上传状态设为未上传
+
+		//  在账户中心注册企业
+		try {
+			registerAccountEnterprise(enterprise);
+			logger.log("接口注册", "success", "一键注册企业同步到账户中心", enterprise.getUu());
+		} catch (Exception e) {
+			logger.log("接口注册", "faliure", "一键注册企业同步到账户中心", enterprise.getUu());
+			return null;
+		}
+
 		Enterprise newEnterprise = enterpriseDao.save(enterprise);// 保存enterprise
 		User user = null;
 		// 允许管理员账户已存在,添加对照关系,先根据手机号和邮箱判断是否是已存在的User
@@ -702,19 +713,19 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		}
 		user.addEnterprise(newEnterprise);// 添加userenterpris对应关系
 		User newUser = userDao.save(user);// 保存user
-		if (!ok) {
-			if (StringUtils.isEmpty(enterprise.getEnAdminPassword())) {
-				enterprise.setEnAdminPassword("111111");
-			}
-			newUser.setUserPwd(Md5Utils.encode(enterprise.getEnAdminPassword(), newUser.getUserUU()));
-			user = userDao.save(newUser);
-			try {
-				userService.postToAccountCenter(user);
-				logger.log("接口注册", "success", "一键注册用户同步到账户中心", user.getUserUU());
-			} catch (Exception e) {
-				logger.log("接口注册", "faliure", "一键注册用户同步到账户中心", user.getUserUU());
-			}
-		}
+//		if (!ok) {
+//			if (StringUtils.isEmpty(enterprise.getEnAdminPassword())) {
+//				enterprise.setEnAdminPassword("111111");
+//			}
+//			newUser.setUserPwd(Md5Utils.encode(enterprise.getEnAdminPassword(), newUser.getUserUU()));
+//			user = userDao.save(newUser);
+//			try {
+//				userService.postToAccountCenter(user);
+//				logger.log("接口注册", "success", "一键注册用户同步到账户中心", user.getUserUU());
+//			} catch (Exception e) {
+//				logger.log("接口注册", "faliure", "一键注册用户同步到账户中心", user.getUserUU());
+//			}
+//		}
 		newEnterprise.setEnAdminuu(newUser.getUserUU());// 设置管理员UU号
 		newEnterprise.setEnIsErp(Constant.YES);
 		newEnterprise = enterpriseDao.save(newEnterprise);// 再次保存enterprise
@@ -723,6 +734,27 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		return newEnterprise;
 	}
 
+	private void registerAccountEnterprise(Enterprise enterprise) throws Exception {
+		UserSpaceView userSpaceView = new UserSpaceView();
+		userSpaceView.setSpaceName(enterprise.getEnName());
+		userSpaceView.setBusinessCode(enterprise.getEnBussinessCode());
+		userSpaceView.setBusinessCodeImage(enterprise.getBusinesscodeimg());
+		userSpaceView.setCorporation(enterprise.getEnCorporation());
+		userSpaceView.setRegAddress(enterprise.getEnAddress());
+		userSpaceView.setArea(enterprise.getEnArea());
+		userSpaceView.setProfession(enterprise.getProfession());
+		userSpaceView.setAccessSecret(enterprise.getAccessSecret());
+		UserView admin = new UserView();
+		admin.setEmail(enterprise.getEnAdminEmail());
+		admin.setMobile(enterprise.getEnAdminTel());
+		admin.setPassword(enterprise.getEnAdminPassword());
+		admin.setVipName(enterprise.getEnAdminName());
+		userSpaceView = AccountUtils.register(userSpaceView, admin);
+		enterprise.setUu(userSpaceView.getSpaceUU());
+		enterprise.setEnAdminuu(userSpaceView.getAdmin().getUserUU());
+		enterprise.setEnAdminPassword(userSpaceView.getAdmin().getPassword());
+	}
+
 	@Override
 	public Set<Enterprise> findByNameKey(String name) {
 		Set<Enterprise> enterprises = new HashSet<Enterprise>();

+ 177 - 79
src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.service.impl;
 
+import com.uas.platform.b2b.core.util.ThreadUtils;
+import com.uas.platform.b2b.support.SysConf;
 import com.uas.sso.util.AccountUtils;
 import com.uas.message.mail.service.MailService;
 import com.uas.platform.b2b.dao.EnterpriseDao;
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Service
@@ -51,6 +54,14 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	@Autowired
     private ProductDao productDao;
 
+	@Autowired
+    private SysConf sysConf;
+
+    /**
+     * 企业注册标志
+     */
+    final String spaceRegisterSign = "enterpriseRegistration";
+
 	/**
 	 * 短信接口
 	 */
@@ -61,7 +72,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 		ModelMap map = new ModelMap();
 		List<Enterprise> enterprises = enterpriseDao.findByEnName(record.getVendname());
 		if (!CollectionUtils.isEmpty(enterprises)) {
-//			throw new IllegalAccessError("该企业已注册!");
 			map.put("error", "该企业已注册!");
 			return map;
 		}
@@ -80,16 +90,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 				enuu = record.getEnuu();
 			}
 		}
-		Map<String, Object> model = new HashMap<String, Object>();
-		// 邮件信息
-		if (null != record.getVendusername()) {
-			model.put("vendorusername", record.getVendusername().trim());
-		}
-		model.put("vendorname", record.getVendname().trim());
-		model.put("custname", SystemSession.getUser().getUserName() + "("
-				+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-		model.put("inviteuid", SystemSession.getUser().getEnterprise().getEnBussinessCode());
-		model.put("inviteUserCode", SystemSession.getUser().getUserUU());
 		// 先判断记录
 		InvitationRecord oldrecord = invitationRecordDao.findByUseruuAndVendname(useruu, record.getVendname());
 			if (record.getId() != null) { // 如果是已存在的,直接替换
@@ -112,27 +112,10 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			}
 			record = invitationRecordDao.save(oldrecord);
 			if (oldrecord.getVenduseremail() != null) {
-				try {
-					mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+			    sendEmail(record);
 			}
-			if(oldrecord.getVendusertel()!=null){
-				try {
-					SmsMessage sms = new SmsMessage();
-					List<Object> obj = new ArrayList<Object>();
-					obj.add(record.getVendusername());
-					obj.add(record.getVendname());
-					obj.add(SystemSession.getUser().getUserName() + "("
-							+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-					sms.setParams(obj);
-					sms.setReceiver(record.getVendusertel());
-					sms.setTemplateId(messageConf.getMsgInvitationForB2B());
-					HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(sms));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+			if (oldrecord.getVendusertel() != null) {
+				sendMsg(record);
 			}
 			map.put("success", "邀请已发送");
 		} else {
@@ -143,23 +126,10 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			record.setActive(Constant.NO);
 			record = invitationRecordDao.save(record);
 			if (record.getVenduseremail() != null) {
-				mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
+				sendEmail(record);
 			}
 			if (record.getVendusertel() != null) {
-				try {
-					SmsMessage sms = new SmsMessage();
-					List<Object> obj = new ArrayList<Object>();
-					obj.add(record.getVendusername());
-					obj.add(record.getVendname());
-					obj.add(SystemSession.getUser().getUserName() + "("
-							+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-					sms.setParams(obj);
-					sms.setReceiver(record.getVendusertel());
-					sms.setTemplateId(messageConf.getMsgInvitationForB2B());
-					HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(sms));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+				sendMsg(record);
 			}
 			if (record.getId() != null) {
 				map.put("success", "邀请已发送");
@@ -167,20 +137,104 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 				map.put("error", "邀请发送失败");
 			}
 		}
-		// 同步一个数据到账户中心(不是必须,不判断状态)
-		try {
-			record.setUser(null);
-			record.setId(null);
-			record.setSamecount(null);
-			record.setVenduu(null);
-			record.setBussinesscode(SystemSession.getUser().getEnterprise().getEnBussinessCode());
-			AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return map;
+        syncToAccount(record, SystemSession.getUser().getEnterprise().getEnBussinessCode());
+        return map;
 	}
 
+    /**
+     * 同步到账户中心
+     *
+     * @param record 邀请记录
+     * @param businessCode 营业执照
+     */
+    @Override
+    public void syncToAccount(InvitationRecord record, String businessCode) {
+        // 同步一个数据到账户中心(不是必须,不判断状态)
+        try {
+            record.setUser(null);
+            record.setId(null);
+            record.setSamecount(null);
+            record.setVenduu(null);
+            record.setBussinesscode(businessCode);
+            AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 发送短信通知
+     *
+     * @param record 邀请记录
+     */
+    private void sendMsg(InvitationRecord record) {
+        try {
+            SmsMessage sms = new SmsMessage();
+            List<Object> obj = new ArrayList<Object>();
+            obj.add(record.getVendusername());
+            obj.add(record.getVendname());
+            obj.add(SystemSession.getUser().getUserName() + "("
+                    + SystemSession.getUser().getEnterprise().getEnName() + ")");
+            sms.setParams(obj);
+            sms.setReceiver(record.getVendusertel());
+            sms.setTemplateId(messageConf.getMsgInvitationForB2B());
+            final SmsMessage message = sms;
+            ThreadUtils.task(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(message));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).run();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 发送邮件通知
+     *
+     * @param record 邀请记录
+     */
+    @Override
+    public void sendEmail(final InvitationRecord record) {
+        Map<String, Object> model = new HashMap<String, Object>();
+        // 邮件信息
+        if (null != record.getVendusername()) {
+            model.put("vendorusername", record.getVendusername().trim());
+        }
+        Enterprise e = enterpriseDao.findOne(record.getEnuu());
+        User u = userDao.findOne(record.getUseruu());
+        model.put("vendorname", record.getVendname().trim());
+        model.put("custname", u.getUserName() + "(" + e.getEnName() + ")");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String time = sdf.format(new Date());
+        String url = sysConf.getRegisterUrl();
+        if (url.contains(spaceRegisterSign)) {
+            url = url + "?inviteUserUU=" + record.getUseruu() + "&inviteSpaceUU=" + record.getEnuu()
+                    + "&invitationTime=" + time + "&source=" + record.getSource();
+        } else {
+            url = url + "/enterpriseRegistration?inviteUserUU=" + record.getUseruu() + "&inviteSpaceUU=" + record.getEnuu()
+                    + "&invitationTime=" + time + "&source=" + record.getSource();
+        }
+        model.put("registerUrl", url);
+        final Map<String, Object> modMap = model;
+        ThreadUtils.task(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), modMap);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }).run();
+    }
+
 	@Override
 	public ModelMap reInvite(Long id) {
 		return invite(invitationRecordDao.findOne(id));
@@ -203,32 +257,65 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			invitatrecords = searchService.getInvitationByKeyword(keyword, params);
 		} catch (Exception e) {
 		}
-		List<InvitationRecord> records = invitatrecords.getContent();
-		if (!CollectionUtils.isEmpty(records)) {
-            for (InvitationRecord record : records) {
-                List<Enterprise> enters = enterpriseDao.findByEnName(record.getVendname());
-                if (!CollectionUtils.isEmpty(enters)) {
-                    if (enters.size() == 1) {
-                        record.setActive(Constant.YES);
-                        record.setSamecount(enters.size());
-                        record.setVenduu(enters.get(0).getUu());
-                        record.setProductNum(productDao.countByEnUU(enters.get(0).getUu()));
-                        record.setRegisterDate(enters.get(0).getEnDate());
-                    } else {
-                        record.setActive(Constant.NO);
-                        record.setSamecount(enters.size());
-                    }
-                } else {
-                    record.setActive(Constant.NO);
-                    record.setSamecount(enters.size());
-                }
-                invitationRecordDao.save(record);
+		if (!CollectionUtils.isEmpty(invitatrecords.getContent())) {
+            for (InvitationRecord record : invitatrecords.getContent()) {
+            	if (null != record.getVenduu()) {
+            		Enterprise e = enterpriseDao.findOne(record.getVenduu());
+					covert(record, e);
+				} else {
+					List<Enterprise> enters = enterpriseDao.findByEnName(record.getVendname());
+					if (!CollectionUtils.isEmpty(enters)) {
+						if (enters.size() == 1) {
+							Enterprise e = enters.get(0);
+							record.setActive(Constant.YES);
+							record.setSamecount(enters.size());
+							record.setVenduu(e.getUu());
+							record = covert(record, e);
+						} else {
+							record.setActive(Constant.NO);
+							record.setSamecount(enters.size());
+						}
+					} else {
+						record.setActive(Constant.NO);
+						record.setSamecount(enters.size());
+					}
+					invitationRecordDao.save(record);
+				}
             }
         }
 		return invitatrecords;
 	}
 
-	@Override
+    /**
+     * 将企业信息封装到邀请记录
+     *
+     * @param record 邀请记录
+     * @param e 企业信息
+     * @return
+     */
+    private InvitationRecord covert(InvitationRecord record, Enterprise e) {
+        record.setProductNum(productDao.countByEnUU(record.getVenduu()));
+        if (null != e.getInviteUU()) {
+            Enterprise inviteEn = enterpriseDao.findOne(e.getInviteUU());
+            record.setInviteEnName(inviteEn != null ? inviteEn.getEnName() : null);
+        }
+        if (null != e.getInviteUserUU()) {
+            User inviteUser = userDao.findOne(e.getInviteUserUU());
+            record.setInviteUserName(inviteUser != null ? inviteUser.getUserName() : null);
+        }
+        record.setRegisterDate(e.getEnDate());
+        record.setEnAddress(e.getEnAddress());
+        record.setEnCorporation(e.getEnCorporation());
+        if (null != e.getEnAdminuu()) {
+            User admin = userDao.findOne(e.getEnAdminuu());
+            if (null != admin) {
+                record.setAdminName(admin.getUserName());
+            }
+        }
+        return record;
+    }
+
+    @Override
 	public List<EnterpriseBaseInfo> findByName(String name) {
 		List<EnterpriseBaseInfo> baseInfoList = new ArrayList<EnterpriseBaseInfo>();
 		List<Enterprise> enterprises = enterpriseDao.findByName(name);
@@ -262,4 +349,15 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	public List<InvitationRecord> findbyVendName(String name) {
 		return invitationRecordDao.findByVendname(name);
 	}
+
+    /**
+     * 通过注册UU号查询邀请记录
+     *
+     * @param enuu 注册UU号
+     * @return
+     */
+    @Override
+    public List<InvitationRecord> findByVendUU(Long enuu) {
+        return invitationRecordDao.findByVenduu(enuu);
+    }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -671,7 +671,7 @@ public class UserServiceImpl implements UserService {
 		user.setEnterprises(enterprises);
 		userDao.save(user);
 		try {
-			postToAccountCenter(user);
+			AccountUtils.addUser(user.getUserUU(), SystemSession.getUser().getEnterprise().getUu());
 		} catch (Exception e) {
 			throw new SystemException(e.getMessage());
 		}

+ 9 - 12
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -1,8 +1,5 @@
 package com.uas.platform.b2b.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.uas.sso.util.AccountUtils;
 import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.DistributeDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
@@ -21,7 +18,6 @@ import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
 import com.uas.platform.b2b.service.VendorService;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.b2b.temporary.model.PartnershipRecord;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
@@ -334,13 +330,13 @@ public class VendorsServiceImpl implements VendorService {
 		long start = System.currentTimeMillis();
 //		final Long enUU = SystemSession.getUser().getEnterprise().getUu();
         if (null == enUU) {
-            // 设置测试企业 - 优软测试二
-            enUU = 10030994L;
+            // 设置不存在的企业
+            enUU = 100411660L;
         }
         if (StringUtils.isEmpty(productMatchCondition) || productMatchCondition.contains("1=1")) {
 			productMatchCondition = " 1=1 ";
 		} else {
-        	productMatchCondition = productMatchCondition + " and pr_issale = 1 and pr_b2bdisabled <> 1";
+        	productMatchCondition = productMatchCondition + " and pr_issale = 1";
 		}
 		if (StringUtils.isEmpty(enterpriseMatchCondition)) {
 			enterpriseMatchCondition = " 1=1 ";
@@ -348,20 +344,21 @@ public class VendorsServiceImpl implements VendorService {
 		// 查询所有的企业信息
 		StringBuffer enterpriseSql = new StringBuffer();
 		enterpriseSql.append("select en.en_uu, en.en_name, en.en_shortname, en.en_address, en.en_tel, en.en_email, en.en_corporation, en.en_businesscode, en.en_profession, en.en_tags, en.en_contactman, en.en_contacttel from sec$enterprises en right join (" +
-				" select en_uu, count(1) as counts from sec$enterprises left join v$products on en_uu = pr_enuu where ").append(productMatchCondition).append(" and en_uu <> ")
+				" select en_uu, count(1) as counts from sec$enterprises left join products on en_uu = pr_enuu where ").append(productMatchCondition).append(" and en_uu <> ")
 				.append(enUU).append(" and en_name not like '%测试%' and lower(en_name) not like '%test%' and ").append(enterpriseMatchCondition).append(" group by en_uu order by count(1) desc" +
 				" ) a on en.en_uu = a.en_uu order by en.en_weight desc, counts desc");
 		// rownum 控制
 		String rownumSql = ") t where rownum <= " + page * size + ") s where r1 > " + (page - 1) * size;
 		// 查找非供应商的卖当前商品的企业UU
 		StringBuffer vendorRecommendUusSql = new StringBuffer();
+		// and instr(Pr_Title,'测试')<1 and instr(lower(Pr_Title),'test')<1
 		vendorRecommendUusSql.append("select s.*,( select wm_concat(pr_title || (case when pr_brand is not null then '(' || pr_brand || ')' else ' ' end)) from v$products where pr_enuu=en_uu and ")
-				.append(productMatchCondition).append(" and pr_issale = 1 and pr_b2bdisabled <> 1 and instr(Pr_Title,'测试')<1 and instr(lower(Pr_Title),'test')<1 " +
+				.append(productMatchCondition).append(" and pr_issale = 1 and pr_b2bdisabled <> 1 " +
 				" and rownum<5 ) productInfo, (select 1 from purc$vendors where ve_vendenuu = en_uu and ve_myenuu = ").append(enUU)
 				.append(") isVendor from (select t.*,rownum as r1 from (").append(enterpriseSql).append(rownumSql);
 		// 因为需求更改为所有有销售产品的企业都会被返回,所以total直接取除本企业外其他有销售产品的企业数即可,之前的匹配企业数不再返回
 		StringBuffer totalSql = new StringBuffer().append(" select count(1) from (select en_uu from sec$enterprises left join " +
-				" v$products on en_uu = pr_enuu where en_name not like '%测试%' and lower(en_name) not like '%test%' and en_uu <> ")
+				" products on en_uu = pr_enuu where en_name not like '%测试%' and lower(en_name) not like '%test%' and en_uu <> ")
 				.append(enUU).append(" and ").append(productMatchCondition).append(" and ").append(enterpriseMatchCondition).append(" group by en_uu)");
 //        System.out.println("SQL:" + vendorRecommendUusSql.toString());
 //        System.out.println("NUM_SQL:" + totalSql.toString());
@@ -378,7 +375,7 @@ public class VendorsServiceImpl implements VendorService {
 	 * @param page           页数
 	 * @param size           每页条数
 	 * @param vendUU         推荐供应商企业UU
-	 * @param productMatchCondition 列表的物料匹配搜索条件
+	 * @param productMatchCondition 列表的物料匹配搜索条件 -- 需求变更中,此条件已弃用
 	 * @param whereCondition where条件(product的筛选条件拼接)
 	 * @return
 	 */
@@ -462,7 +459,7 @@ public class VendorsServiceImpl implements VendorService {
 		}
 		String value = field.replace("pr_", "");
 		String productSql = "select " + field + " as " + value +" from (" +
-				" select " + field + " from v$products where " + condition + " group by " + field + " order by count(1) desc" +
+				" select " + field + " from v$products where " + condition + " group by " + field +
 				") where rownum <= 10";
 		return commonDao.query(productSql, Product.class);
 	}

+ 20 - 1
src/main/java/com/uas/platform/b2b/v2/controller/EnterpriseController.java

@@ -1,7 +1,10 @@
 package com.uas.platform.b2b.v2.controller;
 
+import com.uas.platform.b2b.core.util.ThreadUtils;
+import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.support.CommBufferedLogger;
 import com.uas.platform.b2b.temporary.model.UserSpaceDetail;
+import com.uas.platform.b2b.v2.service.InviteRecordService;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.sso.entity.UserSpaceView;
 import com.uas.sso.entity.UserView;
@@ -26,6 +29,9 @@ public class EnterpriseController {
 	@Autowired
 	private EnterpriseService enterpriseService;
 
+	@Autowired
+    private InviteRecordService inviteRecordService;
+
 	@Autowired
 	private SysConf conf;
 
@@ -89,7 +95,20 @@ public class EnterpriseController {
 			enterprise.setEnAddress(userSpaceDetail.getAddress());
 			enterprise.setEnBussinessCode(userSpaceDetail.getBusinessCode());
 			try {
-				enterpriseService.save(enterprise);
+				final EnterpriseBaseInfo baseInfo = new EnterpriseBaseInfo(enterpriseService.save(enterprise));
+                // 如果改了名字,需要去更新邀请记录里面的信息
+                if (!enterprise.getEnName().equals(userSpaceDetail.getName())) {
+                    ThreadUtils.task(new Runnable() {
+                        @Override
+                        public void run() {
+                            try {
+                                inviteRecordService.updateVendName(baseInfo);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }).run();
+                }
 				return "success";
 			} catch (Exception e) {
 				e.printStackTrace();

+ 7 - 3
src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java

@@ -21,6 +21,7 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.expression.AccessException;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -266,9 +267,12 @@ public class InviteRecordController {
      * @return
      */
     private Long checkByUserTel(Long userUU, String userTel) {
-        if (null != userTel) {
-            User user = userService.findUserByUserTel(userTel);
-            userUU = user.getUserUU();
+        if (StringUtils.isEmpty(userUU)) {
+            try {
+                throw new AccessException("userUU不能为空");
+            } catch (AccessException e) {
+                e.printStackTrace();
+            }
         }
         return userUU;
     }

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

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.v2.service;
 
+import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.v2.model.Invitation;
@@ -85,4 +86,11 @@ public interface InviteRecordService {
      * @return
      */
     ModelMap inviteByBatch(Long enUU, Long userUU, List<InvitationRecord> records, String source);
+
+    /**
+     * 更新邀请注册记录企业信息
+     *
+     * @param e 企业信息
+     */
+    void updateVendName(EnterpriseBaseInfo e);
 }

+ 8 - 2
src/main/java/com/uas/platform/b2b/v2/service/impl/EnterpriseServiceImpl.java

@@ -64,6 +64,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		enterprise.setLogUrl(detail.getLogoImage());
 		enterprise.setProfession(detail.getProfession());
 		enterprise.setTags(detail.getTags());
+		enterprise.setInviteSource(detail.getSource());
+		enterprise.setInviteTime(detail.getInvitationTime());
+		enterprise.setInviteUserUU(detail.getInviteUserUU());
+		enterprise.setInviteUU(detail.getInviteSpaceUU());
 		enterprise = enterpriseDao.save(enterprise);
 
 		// 把管理员添加进企业
@@ -79,8 +83,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		}
 		// 设置为本企业管理员
 		List<Role> adminList = roleDao.findByEnUUAndDesc(enterprise.getUu(), "管理员");
-		existRoles.add(adminList.get(0));
-		user.setRoles(existRoles);
+		if (!CollectionUtils.isEmpty(adminList)) {
+			existRoles.add(adminList.get(0));
+			user.setRoles(existRoles);
+		}
 		userDao.save(user);
 
 		if (isNew) {

+ 51 - 69
src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java

@@ -4,8 +4,6 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.sso.entity.PartnershipRecordView;
 import com.uas.sso.util.AccountUtils;
-import com.uas.message.mail.service.MailService;
-import com.uas.message.sms.service.SmsService;
 import com.uas.platform.b2b.core.util.ThreadUtils;
 import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.InvitationRecordDao;
@@ -18,7 +16,6 @@ import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.InvitationRecordService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.MessageConf;
-import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.temporary.model.SmsMessage;
 import com.uas.platform.b2b.v2.model.Invitation;
 import com.uas.platform.b2b.v2.service.InviteRecordService;
@@ -29,8 +26,6 @@ import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
-import com.uas.sso.entity.PartnershipRecordView;
-import com.uas.sso.util.AccountUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
@@ -63,12 +58,6 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     @Autowired
     private MessageConf messageConf;
 
-    @Autowired
-    private SmsService smsService;
-
-    @Autowired
-    private MailService mailService;
-
     @Autowired
     private UserDao userDao;
 
@@ -95,16 +84,14 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                     baseInfo.setAdminName(user.getUserName());
                     baseInfo.setEnTel(user.getUserTel());
                 }
-                List<InvitationRecord> records = invitationRecordService.findbyVendName(e.getEnName());
-                if (!CollectionUtils.isEmpty(records)) {
-                    Enterprise enterprise = enterpriseService.findByEnUU(records.get(0).getEnuu());
-                    if (null == enterprise) {
-                        enterprise = enterpriseService.findByenBussinessCode(records.get(0).getBussinesscode());
-                    }
+                if (null != e.getInviteUU()) {
+                    Enterprise enterprise = enterpriseService.findByEnUU(e.getInviteUU());
                     String enName = enterprise != null ? enterprise.getEnName() : null;
                     baseInfo.setInviteEnName(enName);
-                    String userName = records.get(0).getUser() != null ? records.get(0).getUser().getUserName() : null;
-                    baseInfo.setInviteUserName(userName);
+                }
+                if (null != e.getInviteUserUU()) {
+                    User u = userDao.findOne(e.getInviteUserUU());
+                    baseInfo.setInviteUserName(u.getUserName());
                 }
                 baseInfoList.add(baseInfo);
             }
@@ -136,15 +123,12 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     @Override
     public ModelMap getInvationCount(Long userUU, Long enUU) {
         ModelMap map = new ModelMap();
-        Integer allNum = 0;
-        Integer todoNum = 0;
-        Integer doneNum = 0;
         String allSql = "select COALESCE(sum(count), 0) from v$invitation where useruu = " + userUU;
         String todoSql = "select COALESCE(sum(count), 0) from v$invitation where active = 0 and useruu = " + userUU;
         String doneSql = "select COALESCE(sum(count), 0) from v$invitation where active = 1 and useruu = " + userUU;
-        allNum = commonDao.queryForObject(allSql, Integer.class);
-        todoNum = commonDao.queryForObject(todoSql, Integer.class);
-        doneNum = commonDao.queryForObject(doneSql, Integer.class);
+        Integer allNum = commonDao.queryForObject(allSql, Integer.class);
+        Integer todoNum = commonDao.queryForObject(todoSql, Integer.class);
+        Integer doneNum = commonDao.queryForObject(doneSql, Integer.class);
         map.put("all", allNum);
         map.put("todo", todoNum);
         map.put("done", doneNum);
@@ -161,11 +145,11 @@ public class InviteRecordServiceImpl implements InviteRecordService {
      */
     @Override
     public List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year) {
-        String sql = "select substr(time, -2) month,in_enuu enUU,count(1) count from(" +
+        String sql = "select substr(time, -2) month, time, in_enuu enUU,count(1) count from(" +
                 "select to_char(in_date, 'yyyy-mm') time,COALESCE(in_active,0),in_enuu from invitationrecords where in_enuu = " + enUU + ")" +
                 "where time like '%" + year + "%' group by time,in_enuu order by time";
         List<Invitation> all = commonDao.query(sql, Invitation.class);
-        String sql1 = "select substr(time, -2) month,in_enuu enUU,count(1) count from(" +
+        String sql1 = "select substr(time, -2) month, time ,in_enuu enUU,count(1) count from(" +
                 "select to_char(in_date, 'yyyy-mm') time,COALESCE(in_active,0),in_enuu from invitationrecords where in_enuu = " + enUU + " and COALESCE(in_active,0) = 1)" +
                 "where time like '%" + year + "%' group by time,in_enuu order by time";
         List<Invitation> done = commonDao.query(sql1, Invitation.class);
@@ -251,8 +235,6 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 @Override
                 public void run() {
                     try {
-//                        smsService.send(messageConf.getMsgAddPartForB2B(), adminTel1,
-//                                new Object[] { userName, custName, enName });
                         // 发送给管理员
                         sendMsgToManager(enName, adminTel1);
                     } catch (Exception e) {
@@ -404,17 +386,7 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 throw new IllegalOperatorException("邀请发送失败");
             }
         }
-        // 同步一个数据到账户中心(不是必须,不判断状态)
-        try {
-            record.setUser(null);
-            record.setId(null);
-            record.setSamecount(null);
-            record.setVenduu(null);
-            record.setBussinesscode(custEn.getEnBussinessCode());
-            AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+        invitationRecordService.syncToAccount(record, custEn.getEnBussinessCode());
         return map;
     }
 
@@ -456,7 +428,12 @@ public class InviteRecordServiceImpl implements InviteRecordService {
      */
     @Override
     public ModelMap inviteByBatch(Long enUU, Long userUU, List<InvitationRecord> records, String source) {
+        ModelMap map = new ModelMap();
         Enterprise ve = enterpriseService.findByEnUU(enUU);
+        int size = 0;
+        int fsize = 0;
+        StringBuffer successStr = new StringBuffer();
+        StringBuffer failStr = new StringBuffer();
         if (null == ve) {
             throw new IllegalOperatorException(enUU + "对应的企业不存在!");
         }
@@ -475,42 +452,47 @@ public class InviteRecordServiceImpl implements InviteRecordService {
             record.setActive(Constant.NO);
             record.setSource(source);
             record.setEnuu(enUU);
-            invite(record);
-            // 发送邮件
-            if (null != record.getVenduseremail() && record.getVenduseremail().contains("@")) {
-                sendEmail(record);
+            try {
+                invite(record);
+                // 发送邮件
+                if (null != record.getVenduseremail() && record.getVenduseremail().contains("@")) {
+                    invitationRecordService.sendEmail(record);
+                }
+                size++;
+                if (successStr.length() > 0) {
+                    successStr.append(";");
+                }
+                successStr.append(record.getVendname());
+            } catch (Exception e) {
+                fsize++;
+                if (failStr.length() > 0) {
+                    failStr.append(";");
+                }
+                failStr.append(record.getVendname());
             }
         }
-        return new ModelMap("success", "邀请已发送,共" + records.size() + "条");
+        if (size > 0) {
+            map.put("success", "发送成" + size + "条," + successStr + "发送成功");
+        }
+        if (fsize > 0) {
+            map.put("error", "发送失败" + fsize + "条," + failStr + "发送失败");
+        }
+        return map;
     }
 
     /**
-     * 发送邮件通知
+     * 更新邀请注册记录企业信息
      *
-     * @param record
+     * @param e 企业信息
      */
-    private void sendEmail(final InvitationRecord record) {
-        Map<String, Object> model = new HashMap<String, Object>();
-        // 邮件信息
-        if (null != record.getVendusername()) {
-            model.put("vendorusername", record.getVendusername().trim());
-        }
-        Enterprise e = enterpriseService.findByEnUU(record.getEnuu());
-        User u = userDao.findOne(record.getUseruu());
-        model.put("vendorname", record.getVendname().trim());
-        model.put("custname", u.getUserName() + "(" + e.getEnName() + ")");
-        model.put("inviteuid", e.getEnBussinessCode());
-        model.put("inviteUserCode", u.getUserUU());
-        final Map<String, Object> modMap = model;
-        ThreadUtils.task(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), modMap);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
+    @Override
+    public void updateVendName(EnterpriseBaseInfo e) {
+        List<InvitationRecord> recordList = invitationRecordService.findByVendUU(e.getUu());
+        if (!CollectionUtils.isEmpty(recordList)) {
+            for (InvitationRecord record : recordList) {
+                record.setVendname(e.getEnName());
             }
-        }).run();
+            invitationRecordDao.save(recordList);
+        }
     }
 }

+ 1 - 1
src/main/resources/dev/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/dev/sys.properties

@@ -4,7 +4,7 @@ manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
 im=http://113.105.74.131:8092
 b2c=http://192.168.253.60:9090/platform-b2c
-registerUrl=http://10.10.100.133/sso/register
+registerUrl=http://192.168.253.12:32323/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s

+ 1 - 1
src/main/resources/prod/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/prod/sys.properties

@@ -4,7 +4,7 @@ manage=http://manage.ubtob.com
 manageInner=http://10.10.100.81:8080
 im=http://113.105.74.140:8092
 b2c=http://www.usoftmall.com
-registerUrl=https://account.ubtob.com/sso/register
+registerUrl=https://sso.ubtob.com/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s

+ 10 - 10
src/main/resources/test/account.properties

@@ -1,22 +1,22 @@
 ### account center config, 
-account.us.save.url=http://192.168.253.12:32323/api/userspace
-account.user.save.url=http://192.168.253.12:32323/api/user
-account.user.getPartners.url = http://192.168.253.12:32323/api/partners
-account.user.getContactPage.url=http://192.168.253.12:32323/business/groups
+account.us.save.url=http://218.17.158.219:32323/api/userspace
+account.user.save.url=http://218.17.158.219:32323/api/user
+account.user.getPartners.url = http://218.17.158.219:32323/api/partners
+account.user.getContactPage.url=http://218.17.158.219:32323/business/groups
 
 ### sso config
 sso.app=b2b
 # token secretkey
 sso.secretkey=0taQcW073Z7G628g5H
 sso.cookie.secure=false
-sso.login.url=http://192.168.253.12:32323
-sso.logout.url=http://192.168.253.12:32323/logquit
+sso.login.url=http://218.17.158.219:32323/
+sso.logout.url=http://218.17.158.219:32323/logquit
 
 #cross domain
-sso.ask.url=http://192.168.253.12:32323/sso/login/ask
-sso.askout.url=http://192.168.253.12:32323/sso/logout/ask
-sso.updatePassword.url=http://192.168.253.12:32323/reset/changePasswordChooseStyle
-sso.cloudcenter.url=http://192.168.253.12:32323/cloudcenter
+sso.ask.url=http://218.17.158.219:32323/sso/login/ask
+sso.askout.url=http://218.17.158.219:32323/sso/logout/ask
+sso.updatePassword.url=http://218.17.158.219:32323/reset/changePasswordChooseStyle
+sso.cloudcenter.url=http://218.17.158.219:32323/cloudcenter
 sso.proxy.uri=login/proxy
 sso.authcookie.secretkey=Z318866alN6gA0piuO
 sso.client.private_key=MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIquTH9rOygR1iyMzU1CSQDXG+lJpMQgWkRWMwO3lzS+UJ3GRq1yxxD8mPFZCuItMRxP4Mvu3nvxDvsJx8lfRXk4MGswROIBPcdBAnasphN7wS5mDvDe/VBIKv+fg4j4VEnak9VUAQhS1gDtp+ZmQpCc9/gz8vueF1ueIXspAoUhAgMBAAECgYBfMP8PY1KK0Zt6nvd5NauYqQ7elg9EFJUBXU3NGmLu8Eez1NrEygk8braoy57921lffrDmKsOKvc+zn2YEoqGzbHCOuYsTDBXFCGLkj8oPeHyrs02+XuJe9j2ejhq2N04oP/TMxerFeyWnHdRCNXECrthqhwTRmGitnj2/+FLVAQJBAM93HY/5HoFlfRv9zjFy72ft/ZC60jHERXwyumbFs8z/x8sHCY1GWfgGhm1ShE1bDWAPY3W9WCFsx6nOETsHajECQQCrH8Dl7IIIHJ5D0TDisFkePnYELxpmOGlPwPOQ7hyLAdW4aB1fVIpjsWmgGOyPvmhK+b99XeLUbwpxVU7AAB3xAkAJNxJCFd+sAbUH7EMfYSqPJDwSFKpHeZ9Yf+xVqkxtO6NFOl/LPae7Y5bO/k5QHU4/yQ8y6KEkgu9vdG7Bf3fRAkEAiDlX6vDytphpmN0PyHXQC9Z3Rm9k2ZjwpM+aVXZn/HSyeQFQ2JHJNQGHby5IK0nNZloYiSlTJ/9ZVc0uSoQNUQJBAJFix2tD7b0Zq82xpeGt81rhXsofuerq1x9WM5UyYILCKJMHZw5lt58snINVzA7JxV+l60dbIgJjmRYm0yxQIAY=

+ 1 - 1
src/main/resources/test/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/test/sys.properties

@@ -4,7 +4,7 @@ manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
 im=http://113.105.74.131:8092
 b2c=http://192.168.253.60:9090/platform-b2c
-registerUrl=http://10.10.100.133/sso/register
+registerUrl=http://192.168.253.12:32323/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s

+ 3 - 35
src/main/webapp/resources/js/index/app.js

@@ -9217,7 +9217,9 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                 if ($scope.returns.returnItems != null) {
                     var sum = 0;
                     angular.forEach($scope.returns.returnItems, function (item) {
-                        sum += item.orderPrice * item.qty;
+                        if (null != item.orderPrice) {
+                            sum += item.orderPrice * item.qty;
+                        }
                     });
                     $scope.totalPrice = sum;
                 }
@@ -18959,30 +18961,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
         };
 
-        // // 查找客户物料
-        // $scope.dbfindCustProd = function(){
-        //     if($scope.item.$editing) {
-        //         if($scope.item.quotation.cust.uu) {
-        //             var modalInstance = $modal.open({
-        //                 templateUrl: 'static/tpl/index/sale/quotation_new_custProd.html',
-        //                 controller: 'DbfindCustProdCtrl',
-        //                 size: 'lg',
-        //                 resolve: {
-        //                     custUU: function(){return $scope.item.quotation.cust.uu}
-        //                 }
-        //             });
-        //
-        //             modalInstance.result.then(function(data){
-        //                 $scope.item.product = data;
-        //             }, function(){
-        //
-        //             });
-        //         } else {
-        //             toaster.pop('error', '错误', '请先选择客户');
-        //         }
-        //     }
-        // };
-
         if (!$scope.attaches) {
             $scope.attaches = []; // 存放上传了的附件
         }
@@ -18994,9 +18972,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                 url: 'tender/addTenderAttach',
                 file: file,
                 method: 'POST'
-                // data: {
-                //     tender: $scope.tender
-                // }
             }).success(function (attach) {
                 $scope.attaches.push(attach);
             });
@@ -19004,9 +18979,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 
         $scope.removeAttach = function (id, index) {
             $scope.attaches.splice(index, 1);
-            // PurcTender.removeAttach({attachId:id}, function() {
-            //
-            // });
         };
 
         var sleep = function (d) {
@@ -19183,10 +19155,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         };
 
         $scope.getMinDate = function () {
-            // var now = new Date();
-            // now = now.setDate(now.getDate()+1);
-            // var minDate = angular.copy($scope.tender.endDate);
-            // minDate = minDate.setDate(minDate.getDate() + 1);
             if ($scope.tender.endDate instanceof Date) {
                 var minDate = new Date($scope.tender.endDate.getTime() + 2 * 24 * 60 * 60 * 1000 + 1); // 公布结果日期与截止报价日期至少隔一天
             }

File diff suppressed because it is too large
+ 0 - 752
src/main/webapp/resources/lib/require.js


+ 1 - 1
src/main/webapp/resources/tpl/index/fa/arCheck_detail.html

@@ -34,7 +34,7 @@
 </div>
 <div class="pane base-info" id="order-detail-list">
 	<div class="pub-com_head">
-		<span>应对账单</span>
+		<span>应对账单</span>
 		<div class="p-right">
 			<!-- <a ng-click="print(order)" class="pull-right text-simple"><i
 			class="fa fa-print fa-fw"></i>打印</a> -->

+ 3 - 3
src/main/webapp/resources/tpl/index/make/returns.html

@@ -238,12 +238,12 @@
 					<div class="text-bold text-inverse" ng-if="item.order.factory">送货工厂:<span ng-bind="::item.order.factory"></span></div>
 				</td>
 				<td>
-					<div ng-if="!isUser" class="text-num" title="{{::item.order.price}}">
+					<div ng-if="!isUser" class="text-num" title="{{::item.orderPrice}}">
 						<span ng-bind="::currency(returns.currency)"></span><span
-							ng-bind="::item.order.price | number:6"></span>
+							ng-bind="::item.orderPrice | number:6"></span>
 					</div>
 					<div class="text-muted" title="{{item.taxrate}}%">
-						<br> 税率:<span ng-bind="::item.order.taxrate + '%'"
+						<br> 税率:<span ng-bind="::item.taxrate + '%'"
 							class="text-num"></span>
 					</div>
 				</td>

File diff suppressed because it is too large
+ 819 - 819
src/main/webapp/resources/tpl/index/purc/inquiry_new.html


Some files were not shown because too many files changed in this diff