Преглед на файлове

Merge branch 'dev_copy' of ssh://10.10.101.21/source/platform-b2b into dev

hangb преди 8 години
родител
ревизия
84328d334c
променени са 21 файла, в които са добавени 1330 реда и са изтрити 992 реда
  1. 1 2
      src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java
  2. 4 6
      src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java
  3. 210 0
      src/main/java/com/uas/platform/b2b/erp/model/AutOrder.java
  4. 123 0
      src/main/java/com/uas/platform/b2b/erp/model/AutOrderDetail.java
  5. 1 1
      src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java
  6. 0 4
      src/main/java/com/uas/platform/b2b/erp/model/InquiryDetail.java
  7. 10 0
      src/main/java/com/uas/platform/b2b/erp/model/KeywordAlias.java
  8. 37 0
      src/main/java/com/uas/platform/b2b/erp/model/OrderClass.java
  9. 13 0
      src/main/java/com/uas/platform/b2b/erp/model/ProdInOutRefreshPrice.java
  10. 15 21
      src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java
  11. 3 3
      src/main/java/com/uas/platform/b2b/model/DeputyOrderItem.java
  12. 14 0
      src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItemTemp.java
  13. 4 50
      src/main/java/com/uas/platform/b2b/service/impl/DeputyOrderServiceImpl.java
  14. 50 29
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java
  15. 7 7
      src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java
  16. 2 1
      src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java
  17. 1 1
      src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java
  18. 10 10
      src/main/resources/test/account.properties
  19. 3 35
      src/main/webapp/resources/js/index/app.js
  20. 3 3
      src/main/webapp/resources/tpl/index/make/returns.html
  21. 819 819
      src/main/webapp/resources/tpl/index/purc/inquiry_new.html

+ 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);
 	}

+ 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;
+    }
+}

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

@@ -222,7 +222,7 @@ public class Inquiry {
 	public Inquiry(SaleQuotation quotation) {
 		this.in_code = quotation.getCode();
 		this.in_date = quotation.getDate();
-		this.in_enddate = quotation.getDate();
+		this.in_enddate = quotation.getEndDate();
 		this.in_recorddate = quotation.getDate();
 		this.in_remark = quotation.getRemark();
 		this.b2b_qu_id = quotation.getId();

+ 0 - 4
src/main/java/com/uas/platform/b2b/erp/model/InquiryDetail.java

@@ -357,15 +357,11 @@ public class InquiryDetail {
 	public InquiryDetail(SaleQuotationItem item) {
 		this.id_currency = item.getQuotation().getCurrency();
 		this.id_detno = item.getNumber();
-//		this.id_fromdate = item.getQuotation().getDate();
 		this.id_minbuyqty = item.getMinOrderQty();
 		this.id_minqty = item.getMinPackQty();
-		this.id_myfromdate = item.getQuotation().getDate();
-		this.id_mytodate = item.getQuotation().getEndDate();
 		this.id_prodcode = item.getProduct() != null ? item.getProduct().getCode(): item.getCustProductCode();
 		this.id_rate = item.getQuotation().getTaxrate();
 		this.id_remark = item.getRemark();
-//		this.id_todate = item.getQuotation().getEndDate();
 		this.ve_uu = item.getQuotation().getEnUU();
 		this.id_brand = item.getBrand();
 		this.id_leadtime = item.getLeadtime();

+ 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;
+	}
 }

+ 15 - 21
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -117,29 +117,23 @@ public class InquiryServiceImpl implements InquiryService {
 								item.setProduct(products.get(0));
 								item.setProductId(products.get(0).getId());
 							} else {
-                                List<NotExistProduct> productList = notExistProductDao.findByEnuuAndCode(enUU, product.getCode());
-                                if (org.springframework.util.CollectionUtils.isEmpty(productList)) {
-                                    notExistProductDao.save(new NotExistProduct(product.getCode(), enUU, "inquiry", inquiry.getIn_code()));
-                                } else {
-                                    NotExistProduct prod = productList.get(0);
-                                    prod.setStatus(Status.NOT_UPLOAD.value());
-                                    notExistProductDao.save(prod);
-                                }
-                                throw new NotFoundException("企业UU【" + enUU + "】,物料编号【" + product.getCode() + "】,来源【" + inquiry.getIn_code() + "】");
+								List<NotExistProduct> productList = notExistProductDao.findByEnuuAndCode(enUU, product.getCode());
+								if (org.springframework.util.CollectionUtils.isEmpty(productList)) {
+									notExistProductDao.save(new NotExistProduct(product.getCode(), enUU, "inquiry", inquiry.getIn_code()));
+								} else {
+									NotExistProduct prod = productList.get(0);
+									prod.setStatus(Status.NOT_UPLOAD.value());
+									notExistProductDao.save(prod);
+								}
+								throw new NotFoundException("企业UU【" + enUU + "】,物料编号【" + product.getCode() + "】,来源【" + inquiry.getIn_code() + "】");
 							}
-                            item.setInquiry(purchaseInquiry);
+							item.setInquiry(purchaseInquiry);
 							PurchaseInquiryTemp temp = new PurchaseInquiryTemp();
-                            BeanUtils.copyProperties(purchaseInquiry, temp, PurchaseInquiryTemp.class);
-                            PurchaseInquiryTemp inquiryTemp = tempDao.findByCodeAndEnUU(temp.getCode(), temp.getEnUU());
-                            PurchaseInquiryItemTemp itemTemp = new PurchaseInquiryItemTemp();
-                            BeanUtils.copyProperties(item, itemTemp, PurchaseInquiryItemTemp.class);
-                            if (inquiryTemp == null) {
-                                temp = tempDao.save(temp);
-                                itemTemp.setInId(temp.getId());
-                            } else {
-                                itemTemp.setInId(inquiryTemp.getId());
-                            }
-                            tempList.add(itemTemp);
+							BeanUtils.copyProperties(purchaseInquiry, temp, PurchaseInquiryTemp.class);
+							PurchaseInquiryItemTemp itemTemp = new PurchaseInquiryItemTemp();
+							BeanUtils.copyProperties(item, itemTemp, PurchaseInquiryItemTemp.class);
+							itemTemp.setInquiry(temp);
+							tempList.add(itemTemp);
 						}
 					}
 

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

@@ -68,7 +68,7 @@ public class DeputyOrderItem implements Serializable {
 	 * 数量
 	 */
 	@Column(name = "dei_amount")
-	private Integer amount;
+	private Double amount;
 	
 	/**
 	 * 单价
@@ -145,11 +145,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;
 	}
 

+ 14 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItemTemp.java

@@ -44,6 +44,12 @@ public class PurchaseInquiryItemTemp {
 	@Column(name = "id_inid", nullable = false)
 	private Long inId;
 
+	/**
+	 * 询价单
+	 */
+	@Transient
+	private PurchaseInquiryTemp inquiry;
+
 	/**
 	 * 买家采购员UU
 	 */
@@ -311,6 +317,14 @@ public class PurchaseInquiryItemTemp {
 		this.inId = inId;
 	}
 
+	public PurchaseInquiryTemp getInquiry() {
+		return inquiry;
+	}
+
+	public void setInquiry(PurchaseInquiryTemp inquiry) {
+		this.inquiry = inquiry;
+	}
+
 	public Long getUserUU() {
 		return userUU;
 	}

+ 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>();

+ 50 - 29
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -117,6 +117,9 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 	@Autowired
     private PurchaseInquiryItemTempDao tempDao;
 
+	@Autowired
+	private PurchaseInquiryTempDao inquiryTempDao;
+
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
     static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
@@ -128,35 +131,53 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
     @Override
     public void saveList(List<PurchaseInquiryItemTemp> purchaseInquiryItemTemps) {
-        purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
-        List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
-        if (!CollectionUtils.isEmpty(purchaseInquiryItemTemps)) {
-            for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
-                PurchaseInquiryItem item = new PurchaseInquiryItem();
-                BeanUtils.copyProperties(temp, item, PurchaseInquiryItem.class);
-                item.setInquiry(purchaseInquiryDao.findOne(temp.getInId()));
-                item.setProduct(productDao.findOne(temp.getProductId()));
-            }
-            saveUserOrders(inquiryItems);
-            Long userUU = SystemSession.getUser().getUserUU();
-            Long enUU = SystemSession.getUser().getEnterprise().getUu();
-            String userIp = SystemSession.getUser().getIp();
-            String userName = SystemSession.getUser().getUserName();
-            sendRemind(PurchaseInquiryItem.distinct(inquiryItems), userUU, userName, userIp, enUU);
-            // 产生消息
-            List<PurchaseInquiry> inquiries = PurchaseInquiryItem.distinct(inquiryItems);
-            List<PurchaseInquiryItem> items = new ArrayList<>();
-            for (PurchaseInquiry inquiry : inquiries) {
-                Set<Long> enUUs = new HashSet<>();
-                for (PurchaseInquiryItem inquiryItem : inquiry.getInquiryItems()) {
-                    if (!enUUs.contains(inquiryItem.getVendUU())) {
-                        items.add(inquiryItem);
-                        enUUs.add(inquiryItem.getVendUU());
-                    }
-                }
-            }
-            ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(items));
-        }
+		try {
+			for (PurchaseInquiryItemTemp itemTemp : purchaseInquiryItemTemps) {
+				PurchaseInquiryTemp inquiryTemp = inquiryTempDao.findByCodeAndEnUU(itemTemp.getInquiry().getCode(), itemTemp.getInquiry().getEnUU());
+				if (inquiryTemp == null) {
+					PurchaseInquiryTemp temp = inquiryTempDao.save(itemTemp.getInquiry());
+					itemTemp.setInId(temp.getId());
+				} else {
+					itemTemp.setInId(inquiryTemp.getId());
+				}
+			}
+			purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
+		} catch (Exception e) {
+			for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
+				if (inquiryTempDao.exists(temp.getInId())) {
+					inquiryTempDao.delete(temp.getInId());
+				}
+				throw new IllegalOperatorException("保存失败");
+			}
+		}
+		List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
+		if (!CollectionUtils.isEmpty(purchaseInquiryItemTemps)) {
+			for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
+				PurchaseInquiryItem item = new PurchaseInquiryItem();
+				BeanUtils.copyProperties(temp, item, PurchaseInquiryItem.class);
+				item.setInquiry(purchaseInquiryDao.findOne(temp.getInId()));
+				item.setProduct(productDao.findOne(temp.getProductId()));
+			}
+			saveUserOrders(inquiryItems);
+			Long userUU = SystemSession.getUser().getUserUU();
+			Long enUU = SystemSession.getUser().getEnterprise().getUu();
+			String userIp = SystemSession.getUser().getIp();
+			String userName = SystemSession.getUser().getUserName();
+			sendRemind(PurchaseInquiryItem.distinct(inquiryItems), userUU, userName, userIp, enUU);
+			// 产生消息
+			List<PurchaseInquiry> inquiries = PurchaseInquiryItem.distinct(inquiryItems);
+			List<PurchaseInquiryItem> items = new ArrayList<>();
+			for (PurchaseInquiry inquiry : inquiries) {
+				Set<Long> enUUs = new HashSet<>();
+				for (PurchaseInquiryItem inquiryItem : inquiry.getInquiryItems()) {
+					if (!enUUs.contains(inquiryItem.getVendUU())) {
+						items.add(inquiryItem);
+						enUUs.add(inquiryItem.getVendUU());
+					}
+				}
+			}
+			ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(items));
+		}
     }
 
     /**

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

@@ -330,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 ";
@@ -344,7 +344,7 @@ 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 控制
@@ -358,7 +358,7 @@ public class VendorsServiceImpl implements VendorService {
 				.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());
@@ -375,7 +375,7 @@ public class VendorsServiceImpl implements VendorService {
 	 * @param page           页数
 	 * @param size           每页条数
 	 * @param vendUU         推荐供应商企业UU
-	 * @param productMatchCondition 列表的物料匹配搜索条件
+	 * @param productMatchCondition 列表的物料匹配搜索条件 -- 需求变更中,此条件已弃用
 	 * @param whereCondition where条件(product的筛选条件拼接)
 	 * @return
 	 */
@@ -459,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);
 	}

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

@@ -15,6 +15,7 @@ import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.ps.core.util.StringUtils;
 import com.uas.search.b2b.model.SPage;
@@ -158,7 +159,7 @@ public class InviteRecordController {
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     private ModelMap addInvitation(String jsonStr) throws UnsupportedEncodingException {
         String str = URLDecoder.decode(jsonStr, "UTF-8");
-        InvitationRecord record = JSON.parseObject(str, InvitationRecord.class);
+        InvitationRecord record = FlexJsonUtils.fromJson(str, InvitationRecord.class);
         Long enUU = checkByBusinessCode(record.getEnuu(), record.getBussinesscode());
         Long userUU = checkByUserTel(record.getUseruu(), record.getUserTel());
         record.setEnuu(enUU);

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

@@ -149,7 +149,7 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 "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, time ,in_enuu enUU,count(1) count from(" +
+        String sql1 = "select substr(time, -2) month, time ,in_enuu enUU,count(1) doneCount 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);

+ 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=

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

@@ -9223,7 +9223,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;
                 }
@@ -18964,30 +18966,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 = []; // 存放上传了的附件
         }
@@ -18999,9 +18977,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);
             });
@@ -19009,9 +18984,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) {
@@ -19188,10 +19160,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); // 公布结果日期与截止报价日期至少隔一天
             }

+ 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>

Файловите разлики са ограничени, защото са твърде много
+ 819 - 819
src/main/webapp/resources/tpl/index/purc/inquiry_new.html


Някои файлове не бяха показани, защото твърде много файлове са промени