scr 8 éve
szülő
commit
1817e9d927
32 módosított fájl, 903 hozzáadás és 530 törlés
  1. 3 0
      src/main/java/com/uas/erp/schedular/database/SqlTemplate.java
  2. 521 0
      src/main/java/com/uas/erp/schedular/diymall/domain/DiymallOrder.java
  3. 208 0
      src/main/java/com/uas/erp/schedular/diymall/domain/DiymallOrderItem.java
  4. 2 2
      src/main/java/com/uas/erp/schedular/diymall/task/AbstractTask.java
  5. 120 0
      src/main/java/com/uas/erp/schedular/diymall/task/DiymallApplyTask.java
  6. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/AccountInfo.java
  7. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/Apply.java
  8. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ApplyInfo.java
  9. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/AssociateCompanyInfo.java
  10. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/Attach.java
  11. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/BusinessConditionInfo.java
  12. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ChangesInstructionInfo.java
  13. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustInfo.java
  14. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustomerExcutiveInfo.java
  15. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustomerInfo.java
  16. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/FinanceConditionInfo.java
  17. 0 233
      src/main/java/com/uas/erp/schedular/finance/domain/FinancingApply.java
  18. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ProductMixInfo.java
  19. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfo.java
  20. 0 0
      src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfoDetail.java
  21. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ShareholdersInfo.java
  22. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/UpdowncastInfo.java
  23. 2 0
      src/main/java/com/uas/erp/schedular/finance/task/AbstractTask.java
  24. 3 3
      src/main/java/com/uas/erp/schedular/finance/task/ApplyInfoTask.java
  25. 0 131
      src/main/java/com/uas/erp/schedular/finance/task/FinancingApplyTask.java
  26. 0 90
      src/main/java/com/uas/erp/schedular/financeservice/task/CustomerInfoTask.java
  27. 1 1
      src/main/java/com/uas/erp/schedular/task/support/MasterTaskRunner.java
  28. 14 3
      src/main/resources/database/template/deputyOrder.xml
  29. 11 10
      src/main/resources/init/setting.json
  30. 0 34
      src/test/java/com/uas/erp/test/ConnectToErpTest.java
  31. 2 7
      src/test/java/com/uas/erp/test/ConnectToFinanceTest.java
  32. 1 1
      src/test/java/com/uas/erp/test/XmlTest.java

+ 3 - 0
src/main/java/com/uas/erp/schedular/database/SqlTemplate.java

@@ -118,6 +118,9 @@ public class SqlTemplate {
                     parsedValue = DateUtil.parseDateToOracleString(Constant.YMD_HMS, (Date) value);
                 } else if (value instanceof Number || value instanceof Boolean) {
                     parsedValue = String.valueOf(value);
+                } else if (value.toString().contains("'")) {
+                    // 如果存在英文',要进行转换处理,不然不能用sql语句存入数据库
+                    parsedValue = "'" + String.valueOf(value).replaceAll("'", "''") + "'";
                 } else {
                     parsedValue = "'" + value + "'";
                 }

+ 521 - 0
src/main/java/com/uas/erp/schedular/diymall/domain/DiymallOrder.java

@@ -0,0 +1,521 @@
+package com.uas.erp.schedular.diymall.domain;
+
+import com.uas.erp.schedular.util.DateUtil;
+import com.uas.erp.schedular.util.NumberUtil;
+import com.uas.erp.schedular.util.StringUtil;
+
+import java.util.Date;
+import java.util.Set;
+
+/**
+ * 定制商城订单主表数据
+ * 
+ * @author huangct
+ * @time 创建时间:2017年12月25日
+ */
+public class DiymallOrder {
+	private Long id;
+
+	//订单号
+	private String code;//SA_CODE
+
+	//付款方式
+	private Integer payment;
+
+	//用户id
+	private Integer userId;
+
+	//订单状态
+	private Integer status;
+
+	//删除   管理后台能否查询的到,类似可用状态(展示状态) 0隐藏  1展示
+	private Integer display;
+
+	//收件人
+	private String takeName;
+
+	//收件人电话 手机号
+	private String takePhone;
+
+	//收件人邮政编码(展示在收件地址中)
+	private String takePostCode;
+
+	//收件地区
+	private Integer takeAreaId;
+
+	//地区名称 收件人地区(省市区)
+	private String takeAreaMsg;
+
+	//详细地址 收件人地址(街道之类)
+	private String takeAddress;
+
+	//收款账号
+	private String toBankNumber;
+
+	//收款人
+	private String toBankName;
+
+	//收款银行
+	private String toBankType;
+
+	//收款开户行
+	private String toBbankAddress;
+
+	//付款人
+	private String fromBankNumber;
+
+	//付款账号
+	private String fromBankName;
+
+	//备注
+	private String remark;
+
+	//订单备注(管理员备注)
+	private String adminRemark;
+
+	//发票抬头 发票信息  名
+	private String invoiceName;
+
+	//发票税号 发票信息  号
+	private String invoiceNumber;
+
+	//运费表主键id
+	private Integer freightId;
+
+	//运费 运费价格
+	private Double freightPrice;
+
+	//小计
+	private Double subtotal;
+
+	//总计
+	private Double grandTotal;
+
+	//运单号
+	private String trackingCode;
+
+	//承运公司
+	private String trackingCompany;
+
+	//承运公司编号
+	private String trackingKdnCode;
+
+	//运单状态  都为0了
+	private Integer trackingStatus;
+
+	//运单最新更新时间
+	private Date trackingUpdateDate;
+
+	//下单时间(创建时间)
+	private Date createDate;
+
+	//付款时间
+	private Date paymentDate;
+
+	//发货时间
+	private Date trackingDate;
+
+	//收货时间
+	private Date receivedDate;
+
+	//完成时间
+	private Date finishDate;
+
+	//申请退款时间
+	private Date refundDate;
+
+	private Integer synData;
+
+	private Set<DiymallOrderItem> diymallOrderItems;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Integer getPayment() {
+		return payment;
+	}
+
+	public void setPayment(Integer payment) {
+		this.payment = payment;
+	}
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Integer getDisplay() {
+		return display;
+	}
+
+	public void setDisplay(Integer display) {
+		this.display = display;
+	}
+
+	public String getTakeName() {
+		return takeName;
+	}
+
+	public void setTakeName(String takeName) {
+		this.takeName = takeName;
+	}
+
+	public String getTakePhone() {
+		return takePhone;
+	}
+
+	public void setTakePhone(String takePhone) {
+		this.takePhone = takePhone;
+	}
+
+	public String getTakePostCode() {
+		return takePostCode;
+	}
+
+	public void setTakePostCode(String takePostCode) {
+		this.takePostCode = takePostCode;
+	}
+
+	public Integer getTakeAreaId() {
+		return takeAreaId;
+	}
+
+	public void setTakeAreaId(Integer takeAreaId) {
+		this.takeAreaId = takeAreaId;
+	}
+
+	public String getTakeAreaMsg() {
+		return takeAreaMsg;
+	}
+
+	public void setTakeAreaMsg(String takeAreaMsg) {
+		this.takeAreaMsg = takeAreaMsg;
+	}
+
+	public String getTakeAddress() {
+		return takeAddress;
+	}
+
+	public void setTakeAddress(String takeAddress) {
+		this.takeAddress = takeAddress;
+	}
+
+	public String getToBankNumber() {
+		return toBankNumber;
+	}
+
+	public void setToBankNumber(String toBankNumber) {
+		this.toBankNumber = toBankNumber;
+	}
+
+	public String getToBankName() {
+		return toBankName;
+	}
+
+	public void setToBankName(String toBankName) {
+		this.toBankName = toBankName;
+	}
+
+	public String getToBankType() {
+		return toBankType;
+	}
+
+	public void setToBankType(String toBankType) {
+		this.toBankType = toBankType;
+	}
+
+	public String getToBbankAddress() {
+		return toBbankAddress;
+	}
+
+	public void setToBbankAddress(String toBbankAddress) {
+		this.toBbankAddress = toBbankAddress;
+	}
+
+	public String getFromBankNumber() {
+		return fromBankNumber;
+	}
+
+	public void setFromBankNumber(String fromBankNumber) {
+		this.fromBankNumber = fromBankNumber;
+	}
+
+	public String getFromBankName() {
+		return fromBankName;
+	}
+
+	public void setFromBankName(String fromBankName) {
+		this.fromBankName = fromBankName;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getAdminRemark() {
+		return adminRemark;
+	}
+
+	public void setAdminRemark(String adminRemark) {
+		this.adminRemark = adminRemark;
+	}
+
+	public String getInvoiceName() {
+		return invoiceName;
+	}
+
+	public void setInvoiceName(String invoiceName) {
+		this.invoiceName = invoiceName;
+	}
+
+	public String getInvoiceNumber() {
+		return invoiceNumber;
+	}
+
+	public void setInvoiceNumber(String invoiceNumber) {
+		this.invoiceNumber = invoiceNumber;
+	}
+
+	public Integer getFreightId() {
+		return freightId;
+	}
+
+	public void setFreightId(Integer freightId) {
+		this.freightId = freightId;
+	}
+
+	public Double getFreightPrice() {
+		return freightPrice;
+	}
+
+	public void setFreightPrice(Double freightPrice) {
+		this.freightPrice = freightPrice;
+	}
+
+	public Double getSubtotal() {
+		return subtotal;
+	}
+
+	public void setSubtotal(Double subtotal) {
+		this.subtotal = subtotal;
+	}
+
+	public Double getGrandTotal() {
+		return grandTotal;
+	}
+
+	public void setGrandTotal(Double grandTotal) {
+		this.grandTotal = grandTotal;
+	}
+
+	public String getTrackingCode() {
+		return trackingCode;
+	}
+
+	public void setTrackingCode(String trackingCode) {
+		this.trackingCode = trackingCode;
+	}
+
+	public String getTrackingCompany() {
+		return trackingCompany;
+	}
+
+	public void setTrackingCompany(String trackingCompany) {
+		this.trackingCompany = trackingCompany;
+	}
+
+	public String getTrackingKdnCode() {
+		return trackingKdnCode;
+	}
+
+	public void setTrackingKdnCode(String trackingKdnCode) {
+		this.trackingKdnCode = trackingKdnCode;
+	}
+
+	public Integer getTrackingStatus() {
+		return trackingStatus;
+	}
+
+	public void setTrackingStatus(Integer trackingStatus) {
+		this.trackingStatus = trackingStatus;
+	}
+
+	public Date getTrackingUpdateDate() {
+		return trackingUpdateDate;
+	}
+
+	public void setTrackingUpdateDate(Date trackingUpdateDate) {
+		this.trackingUpdateDate = trackingUpdateDate;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public Date getPaymentDate() {
+		return paymentDate;
+	}
+
+	public void setPaymentDate(Date paymentDate) {
+		this.paymentDate = paymentDate;
+	}
+
+	public Date getTrackingDate() {
+		return trackingDate;
+	}
+
+	public void setTrackingDate(Date trackingDate) {
+		this.trackingDate = trackingDate;
+	}
+
+	public Date getReceivedDate() {
+		return receivedDate;
+	}
+
+	public void setReceivedDate(Date receivedDate) {
+		this.receivedDate = receivedDate;
+	}
+
+	public Date getFinishDate() {
+		return finishDate;
+	}
+
+	public void setFinishDate(Date finishDate) {
+		this.finishDate = finishDate;
+	}
+
+	public Date getRefundDate() {
+		return refundDate;
+	}
+
+	public void setRefundDate(Date refundDate) {
+		this.refundDate = refundDate;
+	}
+
+	public Integer getSynData() {
+		return synData;
+	}
+
+	public void setSynData(Integer synData) {
+		this.synData = synData;
+	}
+
+	public Set<DiymallOrderItem> getDiymallOrderItems() {
+		return diymallOrderItems;
+	}
+
+	public void setDiymallOrderItems(Set<DiymallOrderItem> diymallOrderItems) {
+		this.diymallOrderItems = diymallOrderItems;
+	}
+
+	public String toSqlString(int primaryKey) {
+		return "INSERT INTO SALE (SA_ID,SA_CODE,SA_TOPLACE,SA_DATE,SA_TOTAL,SA_FARE,SA_REMARK,SA_SHCUSTNAME) VALUES ("
+				+ primaryKey
+				+ ",'"
+				+ StringUtil.nvl(code, "")
+				+ "','"
+				+ StringUtil.nvl(takeAreaMsg, "") + StringUtil.nvl(takeAddress, "")
+				+ "',"
+				+ DateUtil.parseDateToOracleString(null, createDate)
+				+ ","
+				+ NumberUtil.nvl(grandTotal, 0)
+				+ ", "
+				+ NumberUtil.nvl(freightPrice, 0)
+				+ ",'"
+				+ StringUtil.nvl(remark, "")
+				+ "','"
+				+ StringUtil.nvl(takeName, "")
+
+
+//				+ "', "
+//				+ StringUtil.nvl(payment, "")
+//				+ ",'"
+//				+ StringUtil.nvl(userId, "")
+//				+ ",'"
+//				+ StringUtil.nvl(status, "")
+//				+ "', "
+//				+ StringUtil.nvl(display, "")
+//				+ ",'"
+//				+ StringUtil.nvl(takePhone, "")
+//				+ "', "
+//				+ StringUtil.nvl(takePostCode, "")
+//				+ ",'"
+//				+ StringUtil.nvl(takeAreaId, "")
+//				+ ",'"
+//				+ StringUtil.nvl(toBankNumber, "")
+//				+ ",'"
+//				+ StringUtil.nvl(toBankName, "")
+//				+ "', "
+//				+ StringUtil.nvl(toBankType, "")
+//				+ ",'"
+//				+ StringUtil.nvl(toBbankAddress, "")
+//				+ ",'"
+//				+ StringUtil.nvl(fromBankNumber, "")
+//				+ "', "
+//				+ StringUtil.nvl(fromBankName, "")
+//				+ ",'"
+//				+ StringUtil.nvl(adminRemark, "")
+//				+ "', "
+//				+ StringUtil.nvl(invoiceName, "")
+//				+ ",'"
+//				+ StringUtil.nvl(invoiceNumber, "")
+//				+ ",'"
+//				+ StringUtil.nvl(freightId, "")
+//				+ ",'"
+//				+ StringUtil.nvl(subtotal, "")
+//				+ "', "
+//				+ StringUtil.nvl(trackingCode, "")
+//				+ ",'"
+//				+ StringUtil.nvl(trackingCompany, "")
+//				+ ",'"
+//				+ StringUtil.nvl(trackingKdnCode, "")
+//				+ "', "
+//				+ StringUtil.nvl(trackingStatus, "")
+//				+ ",'"
+//				+ StringUtil.nvl(trackingUpdateDate, "")
+//				+ "', "
+//				+ StringUtil.nvl(paymentDate, "")
+//				+ ",'"
+//				+ StringUtil.nvl(trackingDate, "")
+//				+ ",'"
+//				+ StringUtil.nvl(receivedDate, "")
+//				+ "', "
+//				+ StringUtil.nvl(finishDate, "")
+//				+ ",'"
+//				+ StringUtil.nvl(refundDate, "")
+
+				+ "')";
+	}
+}

+ 208 - 0
src/main/java/com/uas/erp/schedular/diymall/domain/DiymallOrderItem.java

@@ -0,0 +1,208 @@
+package com.uas.erp.schedular.diymall.domain;
+
+import com.uas.erp.schedular.util.NumberUtil;
+import com.uas.erp.schedular.util.StringUtil;
+
+/**
+ * 定制商城订单从表数据
+ *
+ * @author huangct
+ * @time 创建时间:2017年12月25日
+ */
+public class DiymallOrderItem {
+
+    private Integer id;
+
+    private Integer ordersId;
+
+    //用户定制id
+    private Integer userDiyId;
+
+    //定制标题
+    private String diyTitle;
+
+    //定制简介
+    private String diyRemark;
+
+    //定制图片
+    private String diyImgUrl;
+
+    //定制内容
+    private String diyContent;
+
+    //瓶子id
+    private Integer bottleId;
+
+    //瓶子名称
+    private String bottleTitle;
+
+    //瓶子重量
+    private Double bottleWeight;
+
+    //水源id
+    private Integer bottleTypeId;
+
+    //水源名称
+    private String bottleTypeTitle;
+
+    //单价
+    private Double itemPrice;
+
+    //数量(箱)
+    private Integer itemNumber;
+
+    //小计
+    private Double subtotal;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getOrdersId() {
+        return ordersId;
+    }
+
+    public void setOrdersId(Integer ordersId) {
+        this.ordersId = ordersId;
+    }
+
+    public Integer getUserDiyId() {
+        return userDiyId;
+    }
+
+    public void setUserDiyId(Integer userDiyId) {
+        this.userDiyId = userDiyId;
+    }
+
+    public String getDiyTitle() {
+        return diyTitle;
+    }
+
+    public void setDiyTitle(String diyTitle) {
+        this.diyTitle = diyTitle;
+    }
+
+    public String getDiyRemark() {
+        return diyRemark;
+    }
+
+    public void setDiyRemark(String diyRemark) {
+        this.diyRemark = diyRemark;
+    }
+
+    public String getDiyImgUrl() {
+        return diyImgUrl;
+    }
+
+    public void setDiyImgUrl(String diyImgUrl) {
+        this.diyImgUrl = diyImgUrl;
+    }
+
+    public String getDiyContent() {
+        return diyContent;
+    }
+
+    public void setDiyContent(String diyContent) {
+        this.diyContent = diyContent;
+    }
+
+    public Integer getBottleId() {
+        return bottleId;
+    }
+
+    public void setBottleId(Integer bottleId) {
+        this.bottleId = bottleId;
+    }
+
+    public String getBottleTitle() {
+        return bottleTitle;
+    }
+
+    public void setBottleTitle(String bottleTitle) {
+        this.bottleTitle = bottleTitle;
+    }
+
+    public Double getBottleWeight() {
+        return bottleWeight;
+    }
+
+    public void setBottleWeight(Double bottleWeight) {
+        this.bottleWeight = bottleWeight;
+    }
+
+    public Integer getBottleTypeId() {
+        return bottleTypeId;
+    }
+
+    public void setBottleTypeId(Integer bottleTypeId) {
+        this.bottleTypeId = bottleTypeId;
+    }
+
+    public String getBottleTypeTitle() {
+        return bottleTypeTitle;
+    }
+
+    public void setBottleTypeTitle(String bottleTypeTitle) {
+        this.bottleTypeTitle = bottleTypeTitle;
+    }
+
+    public Double getItemPrice() {
+        return itemPrice;
+    }
+
+    public void setItemPrice(Double itemPrice) {
+        this.itemPrice = itemPrice;
+    }
+
+    public Integer getItemNumber() {
+        return itemNumber;
+    }
+
+    public void setItemNumber(Integer itemNumber) {
+        this.itemNumber = itemNumber;
+    }
+
+    public Double getSubtotal() {
+        return subtotal;
+    }
+
+    public void setSubtotal(Double subtotal) {
+        this.subtotal = subtotal;
+    }
+
+    public String toSqlString(int primaryKey, int saleId, int prodId, String code, int dentNo, String productCode, String productName, String productSpec) {
+        return "INSERT INTO SALEDETAIL (SD_ID,SD_SAID,SD_PRODID,SD_CODE,SD_DETNO,SD_PRODCODE,SD_PRODNAME,SD_PRODSPEC,SD_DESCRIPTION,SD_REMARK,SD_QTY,SD_PRICE,SD_TOTAL) VALUES ("
+                + primaryKey
+                + ","
+                + saleId
+                + ","
+                + prodId
+                + ",'"
+                + code
+                + "',"
+                + dentNo
+                + ",'"
+
+                + productCode
+                + "','"
+                + productName
+                + "','"
+                + productSpec
+                + "','"
+
+                + StringUtil.nvl(diyTitle, "")
+                + "','"
+                + StringUtil.nvl(diyRemark, "")
+                + "',"
+                + NumberUtil.nvl(itemNumber, 0)
+                + ", "
+                + NumberUtil.nvl(itemPrice, 0)
+                + ", "
+                + NumberUtil.nvl(subtotal, 0)
+                + ")";
+    }
+}

+ 2 - 2
src/main/java/com/uas/erp/schedular/financeservice/task/AbstractTask.java → src/main/java/com/uas/erp/schedular/diymall/task/AbstractTask.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.task;
+package com.uas.erp.schedular.diymall.task;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.erp.schedular.agent.v1.AbstractAgent;
@@ -56,7 +56,7 @@ public class AbstractTask extends AbstractAgent {
      * @return
      */
     private String getApiDomain() {
-        String key = "test".equals(ContextHolder.getMaster().getMa_env()) ? "api.finance.service.test.url" : "api.finance.service.url";
+        String key = "test".equals(ContextHolder.getMaster().getMa_env()) ? "api.diymall.test.url" : "api.diymall.url";
         return settingService.getValue(key);
     }
 

+ 120 - 0
src/main/java/com/uas/erp/schedular/diymall/task/DiymallApplyTask.java

@@ -0,0 +1,120 @@
+package com.uas.erp.schedular.diymall.task;
+
+import com.uas.erp.schedular.diymall.domain.DiymallOrder;
+import com.uas.erp.schedular.diymall.domain.DiymallOrderItem;
+import com.uas.erp.schedular.task.support.Method;
+import com.uas.erp.schedular.task.support.Role;
+import com.uas.erp.schedular.task.support.TaskMapping;
+import com.uas.erp.schedular.util.CollectionUtil;
+import com.uas.erp.schedular.util.ContextHolder;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Created by huangct on 2017/12/26.
+ */
+@Component
+@TaskMapping(title = "定制商城", role = Role.SELLER)
+public class DiymallApplyTask extends AbstractTask {
+    @TaskMapping(title = "从定制商城下载客户的订单数据", fixedDelay = 60000, method = Method.DOWNLOAD)
+    public void downloadDiymallOrder() {
+        List<DiymallOrder> diymallOrders = getForList("/erp/loan", DiymallOrder.class);
+        if (!CollectionUtils.isEmpty(diymallOrders)) {
+            ContextHolder.setDataSize(diymallOrders.size());
+            saveSale(diymallOrders);
+            // TODO notice++
+            // 回执
+            onSaleSuccess(diymallOrders);
+        }
+    }
+
+    /**
+     * 保存Sale
+     *
+     * @param diymallOrders
+     */
+    private void saveSale(List<DiymallOrder> diymallOrders) {
+        //List<Long> idList = new ArrayList<Long>();
+        for (DiymallOrder diymallOrder : diymallOrders) {
+            int count = jdbcTemplate.count("from sale where SA_CODE=?", diymallOrder.getCode());
+            if (count == 0) {
+                int saleId = jdbcTemplate.generate("sale_seq");
+                //idList.add(Long.valueOf(saleId));
+                //TODO sale主从表 product物料表
+                String sql = diymallOrder.toSqlString(saleId);
+                jdbcTemplate.execute(sql);
+                saveSaleDetail(saleId, diymallOrder);
+            }
+        }
+    }
+
+    /**
+     * 保存SaleDetail
+     *
+     * @param saleId 主表id
+     * @param diymallOrder 定制商城订单
+     */
+    private void saveSaleDetail(int saleId,DiymallOrder diymallOrder) {
+        List<String> sqls = new ArrayList<>();
+        Set<DiymallOrderItem> diymallOrderItems =  diymallOrder.getDiymallOrderItems();
+        if (!diymallOrderItems.isEmpty()) {
+            int dentNo = 1;
+            for (DiymallOrderItem diymallOrderItem : diymallOrderItems) {
+
+                String bottleTitle = diymallOrderItem.getBottleTitle();
+                String bottleTypeTitle = diymallOrderItem.getBottleTypeTitle();
+                int productId = saveProduct(bottleTitle, bottleTypeTitle);
+                int saleDetailId = jdbcTemplate.generate("SALEDETAIL_SEQ");
+                // 保存从表数据
+                String sql = diymallOrderItem.toSqlString(saleDetailId, saleId, productId, diymallOrder.getCode(), dentNo, String.valueOf(productId), bottleTypeTitle, bottleTitle);
+                sqls.add(sql);
+                dentNo ++;
+            }
+
+            if (sqls.size() > 0) {
+                jdbcTemplate.batchExecute(sqls);
+            }
+        }
+    }
+
+    /**
+     * 保存Product
+     *
+     * @param bottleTitle 物料规格
+     * @param bottleTypeTitle 物料详情
+     */
+    private int saveProduct(String bottleTitle, String bottleTypeTitle) {
+        int productId;
+        //int count = jdbcTemplate.count("from product where PR_SPEC=? and PR_DETAIL=?", bottleTitle, bottleTypeTitle);
+        String prId  = jdbcTemplate.getString("select PR_ID from product where PR_SPEC='" + bottleTitle +"' and PR_DETAIL='" + bottleTypeTitle + "'");
+        if (StringUtils.isEmpty(prId)) {
+            //TODO 插入物料
+            productId = jdbcTemplate.generate("PRODUCT_SEQ");
+            String sql = "insert into PRODUCT (PR_ID, PR_CODE, PR_SPEC, PR_DETAIL) values ('" + productId + "','"+ productId + "','" + bottleTitle + "','" + bottleTypeTitle + "')";
+            jdbcTemplate.execute(sql);
+        } else {
+            productId = Integer.parseInt(prId);
+        }
+        return productId;
+    }
+
+    /**
+     * 保存Sale成功,修改定制商城的订单为已下载
+     *
+     * @param diymallOrders
+     */
+    private void onSaleSuccess(List<DiymallOrder> diymallOrders) {
+        String idStr = CollectionUtil.getKeyString(diymallOrders, new CollectionUtil.KeyIterator<DiymallOrder>() {
+            @Override
+            public Object getKey(DiymallOrder obj) {
+                return obj.getId();
+            }
+        });
+        post("/erp/loan/back", dataWrap(idStr));
+    }
+}

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/AccountInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/AccountInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/Apply.java → src/main/java/com/uas/erp/schedular/finance/domain/Apply.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.io.Serializable;
 import java.util.List;

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ApplyInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ApplyInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.io.Serializable;
 

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/AssociateCompanyInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/AssociateCompanyInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 /**

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/Attach.java → src/main/java/com/uas/erp/schedular/finance/domain/Attach.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 import javax.persistence.*;

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/BusinessConditionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/BusinessConditionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ChangesInstructionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ChangesInstructionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 变更内容

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 import java.util.List;

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustomerExcutiveInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustomerExcutiveInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustomerInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustomerInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/26

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/FinanceConditionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/FinanceConditionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 /**

+ 0 - 233
src/main/java/com/uas/erp/schedular/finance/domain/FinancingApply.java

@@ -1,233 +0,0 @@
-package com.uas.erp.schedular.finance.domain;
-
-import com.uas.erp.schedular.b2b.domain.KeyEntity;
-import com.uas.erp.schedular.core.Constant;
-import com.uas.erp.schedular.util.DateUtil;
-import com.uas.erp.schedular.util.NumberUtil;
-import com.uas.erp.schedular.util.StringUtil;
-
-import java.util.Date;
-
-/**
- * 金融服务申请数据
- * 
- * @author hejq
- * @time 创建时间:2017年11月24日
- */
-public class FinancingApply extends KeyEntity {
-	
-	/**
-	 * ID
-	 */
-	private Long fa_id;
-	
-	/**
-	 * 企业名称
-	 */
-	private String fa_enname;
-
-	/**
-	 * 联系人
-	 */
-	private String fa_contact;
-
-	/**
-	 * 联系电话(座机)
-	 */
-	private String fa_telphone;
-	
-	/**
-	 * 联系电话(手机)
-	 */
-	private String fa_phone;
-	
-	/**
-	 * 申请金额
-	 */
-	private Long fa_appamount;
-	
-	/**
-	 * 申请人
-	 */
-	private String fa_applyman;
-	
-	/**
-	 * 申请日期
-	 */
-	private Date fa_applydate;
-	
-	/**
-	 * 申请得分
-	 */
-	private Double fa_score;
-	
-	/**
-	 * 融资申请单号
-	 */
-	private String fa_busincode;
-	
-	/**
-	 * 保理公司名称
-	 */
-	private String fa_facorpname;
-	
-	/**
-	 * 保理公司
-	 */
-	private String fa_facorpcode;
-	
-	/**
-	 * 金融項目裡面的id
-	 */
-	private Long fa_finid;
-	
-	private Integer fa_hasErp;
-
-	public Long getFa_id() {
-		return fa_id;
-		
-	}
-
-	public void setFa_id(Long fa_id) {
-		this.fa_id = fa_id;
-	}
-
-	public String getFa_enname() {
-		return fa_enname;
-	}
-
-	public void setFa_enname(String fa_enname) {
-		this.fa_enname = fa_enname;
-	}
-
-	public String getFa_contact() {
-		return fa_contact;
-	}
-
-	public void setFa_contact(String fa_contact) {
-		this.fa_contact = fa_contact;
-	}
-
-	public String getFa_telphone() {
-		return fa_telphone;
-	}
-
-	public void setFa_telphone(String fa_telphone) {
-		this.fa_telphone = fa_telphone;
-	}
-
-	public String getFa_phone() {
-		return fa_phone;
-	}
-
-	public void setFa_phone(String fa_phone) {
-		this.fa_phone = fa_phone;
-	}
-
-	public Long getFa_appamount() {
-		return fa_appamount;
-	}
-
-	public void setFa_appamount(Long fa_appamount) {
-		this.fa_appamount = fa_appamount;
-	}
-
-	public String getFa_applyman() {
-		return fa_applyman;
-	}
-
-	public void setFa_applyman(String fa_applyman) {
-		this.fa_applyman = fa_applyman;
-	}
-
-	public String getFa_applydate() {
-		return fa_applydate==null?null: DateUtil.format(fa_applydate, Constant.YMD_HMS);
-	}
-
-	public void setFa_applydate(Date fa_applydate) {
-		this.fa_applydate = fa_applydate;
-	}
-
-	public Double getFa_score() {
-		return fa_score;
-	}
-
-	public void setFa_score(Double fa_score) {
-		this.fa_score = fa_score;
-	}
-
-	public String getFa_busincode() {
-		return fa_busincode;
-	}
-
-	public void setFa_busincode(String fa_busincode) {
-		this.fa_busincode = fa_busincode;
-	}
-
-	public String getFa_facorpname() {
-		return fa_facorpname;
-	}
-
-	public void setFa_facorpname(String fa_facorpname) {
-		this.fa_facorpname = fa_facorpname;
-	}
-
-	public String getFa_facorpcode() {
-		return fa_facorpcode;
-	}
-
-	public void setFa_facorpcode(String fa_facorpcode) {
-		this.fa_facorpcode = fa_facorpcode;
-	}
-
-	public Long getFa_finid() {
-		return fa_finid;
-	}
-
-	public void setFa_finid(Long fa_finid) {
-		this.fa_finid = fa_finid;
-	}
-
-	@Override
-	public Object getKey() {
-		return this.fa_id;
-	}
-
-	public Integer getFa_hasErp() {
-		return fa_hasErp;
-	}
-
-	public void setFa_hasErp(Integer fa_hasErp) {
-		this.fa_hasErp = fa_hasErp;
-	}
-
-	public String toSqlString(int primaryKey) {
-		return "insert into financingapply (fa_id,fa_enname,fa_contact,fa_telphone,fa_phone,fa_appamount,fa_applyman,fa_applydate,fa_score,fa_busincode,fa_facorpname,fa_facorpcode,fa_finid) values ("
-				+ primaryKey
-				+ ",'"
-				+ StringUtil.nvl(fa_enname, "")
-				+ "', '"
-				+ StringUtil.nvl(fa_contact, "")
-				+ "', '"
-				+ StringUtil.nvl(fa_telphone, "")
-				+ "','"
-				+ StringUtil.nvl(fa_phone, "")
-				+ "', "
-				+ NumberUtil.nvl(fa_appamount, 0)
-				+ ", '"
-				+  StringUtil.nvl(fa_applyman, "")
-				+ "', "
-				+ DateUtil.parseDateToOracleString(null, fa_applydate)
-				+ ", "
-				+ fa_score
-				+ ", '"
-				+ fa_busincode
-				+ "', '"
-				+ fa_facorpname
-				+ "', '"
-				+ fa_facorpcode
-				+ "', "
-				+ fa_finid
-				+ ")";
-	}
-}

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ProductMixInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ProductMixInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/PurcCustInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.util.List;
 

+ 0 - 0
src/main/java/com/uas/erp/schedular/financeservice/domain/PurcCustInfoDetail.java → src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfoDetail.java


+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ShareholdersInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ShareholdersInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 股东信息表

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/UpdowncastInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/UpdowncastInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 供应商客户

+ 2 - 0
src/main/java/com/uas/erp/schedular/finance/task/AbstractTask.java

@@ -76,6 +76,7 @@ public class AbstractTask extends AbstractAgent {
      */
     private String getURI(String url, Object... vars) {
         Master master = ContextHolder.getMaster();
+        logger.info("master信息:" + JSON.toJSONString(master));
         if (null == master.getMa_uu() || StringUtils.isEmpty(master.getMa_accesssecret())) {
             throw new RuntimeException("未设置企业UU和私钥");
         }
@@ -88,6 +89,7 @@ public class AbstractTask extends AbstractAgent {
         URI uri = restTemplate.getUriTemplateHandler().expand(getApiDomain() + accessUrl.toString(), vars);
         url = uri.toString();
         // 签名
+        logger.info("向" + url + "发起数据请求");
         return url + "&_signature=" + HmacUtils.encode(url, master.getMa_accesssecret());
     }
 

+ 3 - 3
src/main/java/com/uas/erp/schedular/financeservice/task/ApplyInfoTask.java → src/main/java/com/uas/erp/schedular/finance/task/ApplyInfoTask.java

@@ -1,7 +1,7 @@
-package com.uas.erp.schedular.financeservice.task;
+package com.uas.erp.schedular.finance.task;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.crypto.util.FlexJsonUtils;
-import com.uas.erp.schedular.financeservice.domain.*;
+import com.uas.erp.schedular.finance.domain.*;
 import com.uas.erp.schedular.task.support.Method;
 import com.uas.erp.schedular.task.support.Role;
 import com.uas.erp.schedular.task.support.TaskMapping;
@@ -13,7 +13,7 @@ import org.springframework.util.StringUtils;
 import java.util.List;
 
 /**
- * 金融服数据下载方法更新
+ * 金融服数据下载方法更新
  *
  * Created by hejq on 2017-12-21.
  */

+ 0 - 131
src/main/java/com/uas/erp/schedular/finance/task/FinancingApplyTask.java

@@ -1,131 +0,0 @@
-package com.uas.erp.schedular.finance.task;
-
-import com.alibaba.fastjson.JSON;
-import com.uas.erp.schedular.finance.domain.FinancingApply;
-import com.uas.erp.schedular.task.support.Method;
-import com.uas.erp.schedular.task.support.Role;
-import com.uas.erp.schedular.task.support.TaskMapping;
-import com.uas.erp.schedular.util.CollectionUtil;
-import com.uas.erp.schedular.util.ContextHolder;
-import org.springframework.stereotype.Component;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Pro1 on 2017/8/4.
- */
-@Component
-@TaskMapping(title = "金融服务", role = Role.SELLER)
-public class FinancingApplyTask extends AbstractTask {
-
-    @TaskMapping(title = "申请企业从金融平台下载客户的申请数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-    public void downloadFinance() {
-        List<FinancingApply> finances = getForList("/erp/down/loan/unload", FinancingApply.class);
-        if (!CollectionUtils.isEmpty(finances)) {
-            ContextHolder.setDataSize(finances.size());
-            saveFinanceDown(finances);
-            // TODO notice++
-            // 回执
-            onSaleDownSuccess(finances);
-        }
-    }
-
-    /**
-     * 保存financeDown
-     *
-     * @param finances
-     */
-    private void saveFinanceDown(List<FinancingApply> finances) {
-        List<String> sqls = new ArrayList<>();
-        List<Long> idList = new ArrayList<Long>();
-        for (FinancingApply fina : finances) {
-            int count = jdbcTemplate.count("from financingapply where fa_finid=?", fina.getFa_finid());
-            if (count == 0) {
-                int finaId = jdbcTemplate.generate("financingapply_seq");
-                idList.add(Long.valueOf(finaId));
-	            if (null != fina.getFa_facorpcode()) {
-		            String corpname =jdbcTemplate.getString("select fc_name from FINANCECORPORATION where fc_code = ?",String.class, fina.getFa_facorpcode());
-		            fina.setFa_facorpname(corpname);
-	            }
-	            String sql = fina.toSqlString(finaId);
-                sqls.add(sql);
-            }
-        }
-        if (sqls.size() > 0) {
-            jdbcTemplate.batchExecute(sqls);
-        }
-    }
-
-    /**
-     * FinancingApply,修改金融平台的申请订单为已下载
-     *
-     * @param finances
-     */
-    private void onSaleDownSuccess(List<FinancingApply> finances) {
-        String idStr = CollectionUtil.getKeyString(finances, new CollectionUtil.KeyIterator<FinancingApply>() {
-            @Override
-            public Object getKey(FinancingApply obj) {
-                return obj.getFa_finid();
-            }
-        });
-        post("/erp/down/loan/back", dataWrap(idStr));
-    }
-
-
-	@TaskMapping(title = "保理公司从金融平台下载已申请的数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-	public void downloadFinanceInfo() {
-		List<FinancingApply> finances = getForList("/erp/loan/unload", FinancingApply.class);
-		if (!CollectionUtils.isEmpty(finances)) {
-			ContextHolder.setDataSize(finances.size());
-			saveFinanceInfoDown(finances);
-			// TODO notice++
-			// 回执
-			onFinanceInfoDownSuccess(finances);
-		}
-	}
-
-	/**
-	 * 保理公司保存下载的数据
-	 *
-	 * @param finances
-	 */
-	private void saveFinanceInfoDown(List<FinancingApply> finances) {
-    	if(!CollectionUtils.isEmpty(finances)) {
-		    for(FinancingApply fina : finances) {
-			    int count = jdbcTemplate.count("from CUSTOMERQUOTA where CQ_FINID=?", fina.getFa_finid());
-			    if(count == 0) {
-				    Map<String, Object> Apply = new HashMap<String,Object>();
-				    Apply.put("fa_enname", fina.getFa_enname());
-				    Apply.put("fa_contact", fina.getFa_contact());
-				    Apply.put("fa_applyman", fina.getFa_applyman());
-				    Apply.put("fa_applydate", fina.getFa_applydate());
-				    Apply.put("fa_appamount", fina.getFa_appamount());
-				    Apply.put("fa_hasErp", fina.getFa_hasErp());
-				    Apply.put("fa_finid", fina.getFa_finid());
-				    String url = "/openapi/applicant/assessFinancingApply.action";
-				    postForEntity(url, new ModelMap("FinancingApply", JSON.toJSONString(Apply)).addAttribute("isB2B", true));
-			    }
-		    }
-	    }
-	}
-
-	/**
-	 * 保理公司数据保存后,返回id更新下载状态
-	 *
-	 * @param finances
-	 */
-	private void onFinanceInfoDownSuccess(List<FinancingApply> finances) {
-		String idStr = CollectionUtil.getKeyString(finances, new CollectionUtil.KeyIterator<FinancingApply>() {
-			@Override
-			public Object getKey(FinancingApply obj) {
-				return obj.getFa_finid();
-			}
-		});
-		post("/erp/loan/back", dataWrap(idStr));
-	}
-}

+ 0 - 90
src/main/java/com/uas/erp/schedular/financeservice/task/CustomerInfoTask.java

@@ -1,90 +0,0 @@
-package com.uas.erp.schedular.financeservice.task;
-import com.alibaba.fastjson.JSONObject;
-import com.uas.api.crypto.util.FlexJsonUtils;
-import com.uas.erp.schedular.financeservice.domain.AccountInfo;
-import com.uas.erp.schedular.financeservice.domain.CustInfo;
-import com.uas.erp.schedular.financeservice.domain.CustomerInfo;
-import com.uas.erp.schedular.task.support.Method;
-import com.uas.erp.schedular.task.support.Role;
-import com.uas.erp.schedular.task.support.TaskMapping;
-import com.uas.erp.schedular.util.ContextHolder;
-import org.springframework.stereotype.Component;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-import java.util.List;
-
-/**
- * Created by hejq on 2017-12-21.
- */
-@Component
-@TaskMapping(title = "金融服务", role = Role.SELLER)
-public class CustomerInfoTask extends AbstractTask {
-
-   /* @TaskMapping(title = "申请企业从金融平台下载客户的申请数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-    public void downloadFinance() {
-       String jsonStr = getForObject("/erp/customerInfo", String.class);
-        if (!StringUtils.isEmpty(jsonStr)) {
-            JSONObject jsonObject = JSONObject.parseObject(jsonStr);
-            String size = jsonObject.getString("size");
-            ContextHolder.setDataSize(null != size ? Integer.valueOf(size) : 0);
-            saveCustInfo(jsonObject.getString("custInfos"));
-            // TODO notice++
-            // 回执
-            onSaleDownSuccess(jsonObject.getString("idStr"));
-        }
-    }*/
-
-    @TaskMapping(title = "申请企业从金融平台下载客户的申请数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-    public void downloadFinance() {
-        String jsonStr = getForObject("/erp/finance", String.class);
-        if (!StringUtils.isEmpty(jsonStr)) {
-            JSONObject jsonObject = JSONObject.parseObject(jsonStr);
-            String size = jsonObject.getString("size");
-            ContextHolder.setDataSize(null != size ? Integer.valueOf(size) : 0);
-            saveCustInfo(jsonObject.getString("custInfos"));
-            // TODO notice++
-            // 回执
-            onSaleDownSuccess(jsonObject.getString("idStr"));
-        }
-    }
-
-    /**
-     * 将下载的数据的idStr传回金融平台进行更新操作
-     *
-     * @param idStr
-     */
-    private void onSaleDownSuccess(String idStr) {
-        if(!StringUtils.isEmpty(idStr))
-            post("/erp/customerInfo/back", dataWrap(idStr));
-    }
-
-    /**
-     * 下载的数据传输到ERP做处理,这边不做处理
-     *
-     * @param custInfos
-     */
-    private void saveCustInfo(String custInfos) {
-        if(!StringUtils.isEmpty(custInfos)) {
-            List<CustInfo> infos = FlexJsonUtils.fromJsonArray(custInfos, CustInfo.class);
-            if(!CollectionUtils.isEmpty(infos)) {
-                for(CustInfo info : infos) {
-                    CustomerInfo customer = new CustomerInfo();
-                    String url = "/openapi/applicant/financingApply.action";
-/*                    postForEntity(url, new ModelMap("customer", JSON.toJSONString(customer))
-                            .addAttribute("accountList",JSON.toJSONString(info.getAccountInfoList()))
-                            .addAttribute("associateCompany", JSON.toJSONString(info.getAssociateCompanies()))
-                            .addAttribute("businessCondition", JSON.toJSONString(info.getBusinessCondition()))
-                            .addAttribute("customerExcutive", JSON.toJSONString(info.getCustomerExcutives()))
-                            .addAttribute("financeCondition", JSON.toJSONString(info.getFinanceConditions()))
-                            .addAttribute("mfCust", JSON.toJSONString(info.getMfCustInfos()))
-                            .addAttribute("financingApply", JSON.toJSONString(info.getFinancingApply()))
-                            .addAttribute("prouductMixe", JSON.toJSONString(info.getProductMixes()))
-                            .addAttribute("updowncast", JSON.toJSONString(info.getUpdowncasts()))
-                            .addAttribute("shareholders", JSON.toJSONString(info.getShareholders()))
-                            .addAttribute("changeInstruction", JSON.toJSONString(info.getChangesInstructions())));*/
-                }
-            }
-        }
-    }
-}

+ 1 - 1
src/main/java/com/uas/erp/schedular/task/support/MasterTaskRunner.java

@@ -14,7 +14,7 @@ import java.lang.reflect.Method;
 /**
  * Created by Pro1 on 2017/7/31.
  */
-public class MasterTaskRunner implements Runnable{
+public class MasterTaskRunner implements Runnable {
 
     private String beanName;
     private Object bean;

+ 14 - 3
src/main/resources/database/template/deputyOrder.xml

@@ -7,6 +7,8 @@
         v_sd_id number;
         v_pr_code varchar2(64);
         v_vecode varchar2(64);
+        v_vendor vendor%rowtype;
+        v_ve_count number;
     </declare>
     <body>
         <iterator loop="orders" var="order">
@@ -21,7 +23,13 @@
                 exception when no_data_found then null;
                 end;
                 begin
-                select ve_code into v_vecode from vendor where ve_name=${order.tervendor};
+                v_vecode := '';
+                select count(1) into v_ve_count from vendor where ve_name=${order.tervendor};
+                if v_ve_count > 0 then
+                    select * into v_vendor from vendor where ve_name=${order.tervendor};
+                    v_vecode := v_vendor.ve_code;
+                end if;
+                end;
                 begin
                 select * into v_sale from sale where sa_code=${order.salecode};
                 exception when no_data_found then null;
@@ -29,9 +37,11 @@
                 if v_sale.sa_id is null or ${order.statuscode} = 222 then
                 if v_sale.sa_id is null then
                 v_sale.sa_id := sale_seq.nextval;
+                v_sale.sa_backstatus := '';
                 else
                 delete from saledetail where sd_said=v_sale.sa_id;
                 delete from sale where sa_id=v_sale.sa_id;
+                v_sale.sa_backstatus := '已下载';
                 end if;
                 v_sale.sa_code := ${order.salecode};
                 v_sale.sa_pocode := ${order.salepocode};
@@ -89,8 +99,9 @@
                 v_pr_code := 'PROD'||to_char(sysdate,'yymmdd')||v_sd_id;
 
                 insert into product (pr_id, pr_detail, pr_spec, pr_speccs, pr_unit, pr_recordman, pr_docdate, pr_status, pr_statuscode, pr_remark,
-                pr_code, pr_orispeccode, pr_brand) values (product_seq.nextval, ${item.prodname}, ${item.prodcode}, ${item.prodspec},
-                'PCS', '系统', sysdate, '已审核', 'AUDITED', v_sale.sa_code||'平台代采订单产生', v_pr_code, ${item.prodcode}, ${item.prodbrand});
+                pr_code, pr_orispeccode, pr_brand) values (product_seq.nextval, ${item.prodname},
+                ${item.prodcode}, ${item.prodspec}, 'PCS', '系统', sysdate, '已审核', 'AUDITED',
+                v_sale.sa_code||'平台代采订单产生', v_pr_code, ${item.prodcode}, ${item.prodbrand});
 
                 insert into saledetail (sd_id, sd_said, sd_detno, sd_code, sd_prodcode, sd_qty, sd_price, sd_total,sd_remark,
                 sd_delivery, SD_COSTINGPRICE) values (v_sd_id, v_sale.sa_id, ${item.detno}, v_sale.sa_code, v_pr_code, ${item.amount},

+ 11 - 10
src/main/resources/init/setting.json

@@ -8,7 +8,7 @@
 },{
   "key": "api.uas.inner.url",
   "description": "UAS系统内网接口地址",
-  "value": "http://192.168.253.29:8080/ERP/"
+  "value": "http://127.0.0.1:8081/ERP"
 },{
   "key": "api.b2b.test.url",
   "description": "优软B2B平台测试接口地址",
@@ -19,17 +19,18 @@
   "value": "http://uas.ubtob.com"
 },{
   "key": "api.finance.test.url",
-  "description": "金融保理平台测试接口地址"
+  "description": "金融保理平台测试接口地址",
+  "value": "http://localhost:8081"
 },{
   "key": "api.finance.url",
-  "description": "金融保理平台(后台)正式接口地址",
-  "value": "http://10.10.100.178:23000"
+  "description": "金融保理平台正式接口地址",
+  "value": "http://finance.ubtob.com"
 },{
-  "key": "api.finance.service.test.url",
-  "description": "金融保理平台(客户端)测试接口地址",
-  "value": "http://localhost:8081"
+  "key": "api.diymall.test.url",
+  "description": "定制商城本地测试接口地址",
+  "value": "http://127.0.0.1:20215"
 },{
-  "key": "api.finance.service.url",
-  "description": "金融保理平台(客户端)正式接口地址",
-  "value": "http://www.finance.ubtob.com"
+  "key": "api.diymall.url",
+  "description": "定制商城正式接口地址",
+  "value": "http://10.10.100.23:20215"
 }]

+ 0 - 34
src/test/java/com/uas/erp/test/ConnectToErpTest.java

@@ -1,34 +0,0 @@
-package com.uas.erp.test;
-
-import com.uas.erp.schedular.UasSchedulingApplication;
-import com.uas.erp.schedular.agent.v1.AbstractAgent;
-import com.uas.erp.schedular.entity.Master;
-import com.uas.erp.schedular.util.ContextHolder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.ui.ModelMap;
-
-
-/**
- * 连接ERP测试
- *
- * Created by hejq on 2017-12-05.
- */
-//@RunWith(SpringJUnit4ClassRunner.class)
-//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = UasSchedulingApplication.class)
-public class ConnectToErpTest extends AbstractAgent {
-
-//	@Test
-	public void testConnect() {
-
-		Master master = new Master();
-		master.setMa_user("UAS");
-		master.setMa_name("UAS");
-		ContextHolder.setMaster(master);
-		String code = "hello world";
-		String url = "/openapi/application/transportData1.action";
-		postForEntity(url, new ModelMap("code", code));
-	}
-}

+ 2 - 7
src/test/java/com/uas/erp/test/ConnectToFinanceTest.java

@@ -2,15 +2,10 @@ package com.uas.erp.test;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.crypto.util.FlexJsonUtils;
-import com.uas.erp.schedular.UasSchedulingApplication;
 import com.uas.erp.schedular.entity.Master;
-import com.uas.erp.schedular.financeservice.domain.*;
-import com.uas.erp.schedular.financeservice.task.AbstractTask;
+import com.uas.erp.schedular.finance.domain.*;
+import com.uas.erp.schedular.finance.task.AbstractTask;
 import com.uas.erp.schedular.util.ContextHolder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;

+ 1 - 1
src/test/java/com/uas/erp/test/XmlTest.java

@@ -17,7 +17,7 @@ import java.util.*;
  */
 public class XmlTest {
 
-    @Test
+//    @Test
     public void parseXml() throws Exception{
         String xmlStr = FileCopyUtils.copyToString(new FileReader("E:\\file\\test\\deputyOrder.xml"));
         Map<String, Object> model = new HashMap<>();