Browse Source

Merge remote-tracking branch 'origin/release-huj-0822'

Hu Jie 7 years ago
parent
commit
4ece948127

+ 81 - 0
src/main/java/com/uas/erp/schedular/b2b/domain/PurchaseDetail.java

@@ -23,6 +23,22 @@ public class PurchaseDetail {
 	private String pd_vendspec;
 	private Integer pd_beipin;
 	private String pd_prattach;
+	//终端供应商名称
+	private String pd_purcvendname;
+	//终端供应商uu
+	private Long pd_purcvenduu;
+	//客户采购订单号
+	private String pd_custpurchasecode;
+	//客户采购订单序号
+	private Short pd_custpurchasedetno;
+	//收货客户
+	private String pd_acceptcustname;
+	//收货地址
+	private String pd_acceptcustaddress;
+	//收货客户uu
+	private Long pd_acceptcustuu;
+	//是否能发货
+	private String pd_hasissued;
 	private List<Attach> attaches;
 
 	public String getPd_vendspec() {
@@ -33,6 +49,22 @@ public class PurchaseDetail {
 		this.pd_vendspec = pd_vendspec;
 	}
 
+	public Long getPd_acceptcustuu() {
+		return pd_acceptcustuu;
+	}
+
+	public void setPd_acceptcustuu(Long pd_acceptcustuu) {
+		this.pd_acceptcustuu = pd_acceptcustuu;
+	}
+
+	public String getPd_hasissued() {
+		return pd_hasissued;
+	}
+
+	public void setPd_hasissued(String pd_hasissued) {
+		this.pd_hasissued = pd_hasissued;
+	}
+
 	public String getPd_factory() {
 		return pd_factory;
 	}
@@ -128,4 +160,53 @@ public class PurchaseDetail {
 	public void setAttaches(List<Attach> attaches) {
 		this.attaches = attaches;
 	}
+
+	public String getPd_purcvendname() {
+		return pd_purcvendname;
+	}
+
+	public void setPd_purcvendname(String pd_purcvendname) {
+		this.pd_purcvendname = pd_purcvendname;
+	}
+
+	public Long getPd_purcvenduu() {
+		return pd_purcvenduu;
+	}
+
+	public void setPd_purcvenduu(Long pd_purcvenduu) {
+		this.pd_purcvenduu = pd_purcvenduu;
+	}
+
+	public String getPd_custpurchasecode() {
+		return pd_custpurchasecode;
+	}
+
+	public void setPd_custpurchasecode(String pd_custpurchasecode) {
+		this.pd_custpurchasecode = pd_custpurchasecode;
+	}
+
+	public Short getPd_custpurchasedetno() {
+		return pd_custpurchasedetno;
+	}
+
+	public void setPd_custpurchasedetno(Short pd_custpurchasedetno) {
+		this.pd_custpurchasedetno = pd_custpurchasedetno;
+	}
+
+	public String getPd_acceptcustname() {
+		return pd_acceptcustname;
+	}
+
+	public void setPd_acceptcustname(String pd_acceptcustname) {
+		this.pd_acceptcustname = pd_acceptcustname;
+	}
+
+	public String getPd_acceptcustaddress() {
+		return pd_acceptcustaddress;
+	}
+
+	public void setPd_acceptcustaddress(String pd_acceptcustaddress) {
+		this.pd_acceptcustaddress = pd_acceptcustaddress;
+	}
+
 }

+ 14 - 2
src/main/java/com/uas/erp/schedular/b2b/domain/PurchaseNotify.java

@@ -19,8 +19,12 @@ public class PurchaseNotify extends KeyEntity{
 	private Short pn_orderdetno;
 	private String pn_remark;
 	private Double pn_endqty;
-	private Double pr_zxbzs;// 物料最小包装数
-	private Long pn_b2bid; //b2bid
+	// 物料最小包装数
+	private Double pr_zxbzs;
+	//b2bid
+	private Long pn_b2bid;
+	//终端供应商,为0表示正常送货提醒
+	private Long pn_terminalvenduu;
 
 	public int getPn_id() {
 		return pn_id;
@@ -110,6 +114,14 @@ public class PurchaseNotify extends KeyEntity{
 		this.pn_b2bid = pn_b2bid;
 	}
 
+	public Long getPn_terminalvenduu() {
+		return pn_terminalvenduu;
+	}
+
+	public void setPn_terminalvenduu(Long pn_terminalvenduu) {
+		this.pn_terminalvenduu = pn_terminalvenduu;
+	}
+
 	@Override
 	public Object getKey() {
 		return pn_id;

+ 73 - 2
src/main/java/com/uas/erp/schedular/b2b/domain/SaleDownDetail.java

@@ -26,6 +26,26 @@ public class SaleDownDetail {
 	private Double sd_taxtotal;
 	private String sd_factory;
 	private String sd_remark;
+	//终端供应商名称
+	private String sd_purcvendname;
+	//终端供应商uu
+	private Long sd_purcvenduu;
+	//客户采购订单序号
+	private Short sd_purcdetno;
+	//收货客户
+	private String sd_acceptcustname;
+	//收货地址
+	private String sd_acceptcustaddress;
+	//终端供应商编号
+	private String sd_purcvendcode;
+
+	public String getSd_purcvendcode() {
+		return sd_purcvendcode;
+	}
+
+	public void setSd_purcvendcode(String sd_purcvendcode) {
+		this.sd_purcvendcode = sd_purcvendcode;
+	}
 
 	public long getB2b_pd_id() {
 		return b2b_pd_id;
@@ -171,10 +191,50 @@ public class SaleDownDetail {
 		this.sd_remark = sd_remark;
 	}
 
+	public String getSd_purcvendname() {
+		return sd_purcvendname;
+	}
+
+	public void setSd_purcvendname(String sd_purcvendname) {
+		this.sd_purcvendname = sd_purcvendname;
+	}
+
+	public Long getSd_purcvenduu() {
+		return sd_purcvenduu;
+	}
+
+	public void setSd_purcvenduu(Long sd_purcvenduu) {
+		this.sd_purcvenduu = sd_purcvenduu;
+	}
+
+	public Short getSd_purcdetno() {
+		return sd_purcdetno;
+	}
+
+	public void setSd_purcdetno(Short sd_purcdetno) {
+		this.sd_purcdetno = sd_purcdetno;
+	}
+
+	public String getSd_acceptcustname() {
+		return sd_acceptcustname;
+	}
+
+	public void setSd_acceptcustname(String sd_acceptcustname) {
+		this.sd_acceptcustname = sd_acceptcustname;
+	}
+
+	public String getSd_acceptcustaddress() {
+		return sd_acceptcustaddress;
+	}
+
+	public void setSd_acceptcustaddress(String sd_acceptcustaddress) {
+		this.sd_acceptcustaddress = sd_acceptcustaddress;
+	}
+
 	public String toSqlString(int foreignKey) {
 		return "insert into SaleDownDetail(b2b_pd_id,sd_id,sd_said,sd_code,sd_detno,sd_custprodcode,sd_custproddetail,sd_prodname,sd_custprodspec,sd_prodspec,"
 				+ "sd_custprodunit,sd_replyqty,sd_replydate,sd_replydetail,sd_price,sd_qty,sd_total,sd_taxrate,"
-				+ "sd_taxtotal,sd_delivery,sd_remark) VALUES ("
+				+ "sd_taxtotal,sd_delivery,sd_remark,sd_purcvendname,sd_purcvenduu,sd_purcdetno,sd_acceptcustname,sd_acceptcustaddress,sd_purcvendcode) VALUES ("
 				+ b2b_pd_id
 				+ ",SaleDownDetail_SEQ.nextval,"
 				+ foreignKey
@@ -213,7 +273,18 @@ public class SaleDownDetail {
 				+ ","
 				+ (sd_delivery == null ? "null" : DateUtil.parseDateToOracleString(null, sd_delivery))
 				+ ",'"
-				+ sd_remark +"')";
+				+ sd_remark
+				+ "','"
+				+sd_purcvendname
+				+ "',"
+				+sd_purcvenduu
+				+ ","
+				+sd_purcdetno
+				+ ",'"
+				+StringUtil.nvl(sd_acceptcustname, "")
+				+ "','"
+				+StringUtil.nvl(sd_acceptcustaddress, "")
+				+"',(select ve_code from vendor where ve_uu="+sd_purcvenduu+" and rownum=1))";
 	}
 
 }

+ 32 - 0
src/main/java/com/uas/erp/schedular/b2b/task/PurchaseTask.java

@@ -97,6 +97,38 @@ public class PurchaseTask extends AbstractTask {
         }
     }
 
+    @TaskMapping(title = "从平台下载更新代采订单可发货状态", fixedDelay = 30000, method = Method.DOWNLOAD)
+    public void downloadhasIssued() {
+        List<PurchaseDetail> issued = getForList("/erp/purchase/issued", PurchaseDetail.class);
+        if (!CollectionUtils.isEmpty(issued)) {
+            ContextHolder.setDataSize(issued.size());
+            savePurchaseIssued(issued);
+            // 回执
+            onIssuedSuccess(issued);
+            // TODO notice++
+        }
+    }
+
+    /**
+     * 更新可发货状态
+     * @param issued
+     */
+    private void savePurchaseIssued(List<PurchaseDetail> issued) {
+        List<String> sqls = new ArrayList<String>();
+        for (PurchaseDetail detail : issued) {
+            sqls.add("update purchasedetail set pd_hasissued = '是' where pd_detno="+detail.getPd_custpurchasedetno()+" and pd_puid=(select pu_id from purchase where pu_code='"+detail.getPd_custpurchasecode()+"')");
+        }
+        jdbcTemplate.batchExecute(sqls);
+    }
+
+    /**
+     * 回执给平台
+     * @param issued
+     */
+    private void onIssuedSuccess(List<PurchaseDetail> issued) {
+        post("/erp/purchase/issued/back", dataWrap(issued));
+    }
+
     /**
      * 保存回复记录,并更新到采购单明细
      *

+ 196 - 0
src/test/java/com/uas/erp/test/PurchaseChangeTest.java

@@ -0,0 +1,196 @@
+package com.uas.erp.test;
+
+import com.uas.erp.schedular.UasSchedulingApplication;
+import com.uas.erp.schedular.b2b.task.*;
+import com.uas.erp.schedular.entity.Master;
+import com.uas.erp.schedular.publicproduct.task.ProdTask;
+import com.uas.erp.schedular.util.ContextHolder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.ApplicationContext;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * @Author: huj
+ * @Date: Created in 8:56 2018/6/28.
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = UasSchedulingApplication.class)
+public class PurchaseChangeTest extends AbstractTask {
+
+    @Autowired
+    SaleDownChangeTask saleDownChangeTask;
+
+    @Autowired
+    ApplicationContext applicationContext;
+
+    @Autowired
+    SaleDownTask saleDownTask;
+
+    @Autowired
+    PurchaseTask purchaseTask;
+
+    @Autowired
+    ProdCheckTask prodCheckTask;
+
+
+    @Autowired
+    InquiryTask inquiryTask;
+
+    @Autowired
+    PurchaseSampleTask purchaseSampleTask;
+
+    @Autowired
+    MakeTask makeTask;
+
+    @Autowired
+    PurchaseNotifyTask purchaseNotifyTask;
+
+
+    @Autowired
+    CheckTransTask checkTransTask;
+
+    @Autowired
+    PurchaseProdInOutTask purchaseProdInOutTask;
+
+    @Autowired
+    ProdTask prodTask;
+
+    @Autowired
+    PurchaseChangeTask purchaseChangeTask;
+
+    @Autowired
+    OrderCheckTask orderCheckTask;
+
+    @Autowired
+    SaleProdInOutDownTask saleProdInOutDownTask;
+
+    @Autowired
+    MakeProdInOutTask makeProdInOutTask;
+
+    @Autowired
+    InquiryMouldTask inquiryMouldTask;
+
+
+    @Test
+    public void uploadPurchaseChangeTest() {
+
+        Master master = new Master();
+        master.setMa_user("UAS");
+        master.setMa_uu(10041166L);
+        master.setMa_accesssecret("2c1ea0898633796fe050007f01002ea6");
+        master.setMa_env("test");
+        master.setMa_name("UAS");
+
+        ContextHolder.setMaster(master);
+        purchaseNotifyTask.downloadAcceptNotify();
+    }
+
+    // 胜芳SAAS_10041559
+    @Test
+    public void uploadPurchaseChangeTestSF() {
+
+        Master master = new Master();
+        master.setMa_user("SAAS_10041559");
+        master.setMa_uu(10041559L);
+        master.setMa_accesssecret("2c1ea089876b796fe050007f01002ea6");
+        master.setMa_env("test");
+        master.setMa_name("SAAS_10041559");
+
+        ContextHolder.setMaster(master);
+        purchaseTask.downloadhasIssued();
+    }
+
+    //天派电子
+    @Test
+    public void uploadPurchaseChangeTestTianPai() {
+
+        Master master = new Master();
+        master.setMa_user("skypine_el");
+        master.setMa_uu(10006098L);
+        master.setMa_accesssecret("2c1ea0898035796fe050007f01002ea6");
+        master.setMa_env("prod");
+        master.setMa_name("skypine_el");
+        ContextHolder.setMaster(master);
+        purchaseTask.uploadPurchase();
+    }
+
+    //欧盛
+    @Test
+    public void uploadPurchaseChangeTestOusheng() {
+
+        Master master = new Master();
+        master.setMa_user("OSAUTO");
+        master.setMa_uu(10046539L);
+        master.setMa_accesssecret("aff1d9aac85042a491b21ef3d382abd1");
+        master.setMa_env("prod");
+        master.setMa_name("OSAUTO");
+        ContextHolder.setMaster(master);
+        purchaseTask.uploadPurchase();
+    }
+
+    //英唐智控
+    @Test
+    public void uploadPurchaseChangeTestYt() {
+
+        Master master = new Master();
+        master.setMa_user("YITOA_INTCON");
+        master.setMa_uu(10041961L);
+        master.setMa_accesssecret("2c1ea08988a6796fe050007f01002ea6");
+        master.setMa_env("prod");
+        master.setMa_name("YITOA_INTCON");
+        ContextHolder.setMaster(master);
+        saleProdInOutDownTask.downloadSaleProdInOut();
+    }
+
+    //漳州万利达
+    @Test
+    public void uploadPurchaseChangeTestZZ() {
+
+        Master master = new Master();
+        master.setMa_user("N_MALATA_ZZ");
+        master.setMa_uu(10048097L);
+        master.setMa_accesssecret("6952e099cb75a780e050007f01000762");
+        master.setMa_env("prod");
+        master.setMa_name("N_MALATA_ZZ");
+        ContextHolder.setMaster(master);
+        purchaseProdInOutTask.uploadProdInOut();
+    }
+
+    //深圳华商龙
+    @Test
+    public void uploadPurchaseChangeTestHSL() {
+
+        Master master = new Master();
+        master.setMa_user("N_HUASL_SZ");
+        master.setMa_uu(10000666L);
+        master.setMa_accesssecret("2c1ea0897c1a796fe050007f01002ea6");
+        master.setMa_env("prod");
+        master.setMa_name("N_HUASL_SZ");
+        ContextHolder.setMaster(master);
+        orderCheckTask.checkSaleMain();
+    }
+
+    //香港华商龙
+    @Test
+    public void uploadPurchaseChangeTestHKHSL() {
+
+        Master master = new Master();
+        master.setMa_user("N_HUASL");
+        master.setMa_uu(10041191L);
+        master.setMa_accesssecret("2c1ea0898649796fe050007f01002ea6");
+        master.setMa_env("prod");
+        master.setMa_name("N_HUASL");
+        ContextHolder.setMaster(master);
+        prodTask.uploadProduct();
+    }
+
+    @Test
+    public void test() {
+        for (int i = 0;i < 10;i++) {
+            uploadPurchaseChangeTestHKHSL();
+        }
+    }
+}