Browse Source

代码合并

chenw 7 years ago
parent
commit
54d63a7b11

+ 0 - 1
src/main/java/com/uas/erp/schedular/b2b/domain/AcceptNotify.java

@@ -35,7 +35,6 @@ public class AcceptNotify extends KeyEntity{
 		this.b2b_ss_id = b2b_ss_id;
 	}
 
-	@JsonIgnore
 	public Integer getAn_id() {
 		return an_id;
 	}

+ 20 - 2
src/main/java/com/uas/erp/schedular/b2b/domain/AcceptNotifyDetail.java

@@ -10,6 +10,7 @@ import com.uas.erp.schedular.util.StringUtil;
  */
 public class AcceptNotifyDetail {
 
+	private Long b2b_si_id;
 	private short and_detno;
 	private String and_ordercode;
 	private Short and_orderdetno;
@@ -17,6 +18,15 @@ public class AcceptNotifyDetail {
 	private Double and_inqty;
 	private Double and_price;
 	private String and_remark;
+	private Long and_id;
+
+	public Long getB2b_si_id() {
+		return b2b_si_id;
+	}
+
+	public void setB2b_si_id(Long b2b_si_id) {
+		this.b2b_si_id = b2b_si_id;
+	}
 
 	public short getAnd_detno() {
 		return and_detno;
@@ -74,8 +84,16 @@ public class AcceptNotifyDetail {
 		this.and_price = and_price;
 	}
 
+	public Long getAnd_id() {
+		return and_id;
+	}
+
+	public void setAnd_id(Long and_id) {
+		this.and_id = and_id;
+	}
+
 	public String toSqlString(int foreignKey) {
-		return "insert into AcceptNotifyDetail(and_id,and_anid,and_detno,and_ordercode,and_orderdetno,and_inqty,and_b2bqty,and_remark,and_price,and_pnid) values (AcceptNotifyDetail_seq.nextval,"
+		return "insert into AcceptNotifyDetail(and_id,and_anid,and_detno,and_ordercode,and_orderdetno,and_inqty,and_b2bqty,and_remark,and_price,and_pnid,b2b_si_id) values (AcceptNotifyDetail_seq.nextval,"
 				+ foreignKey
 				+ ","
 				+ and_detno
@@ -88,7 +106,7 @@ public class AcceptNotifyDetail {
 				+ ","
 				+ and_inqty
 				+ ",'"
-				+ StringUtil.nvl(and_remark, "") + "'," + and_price + "," + this.and_pnid + ")";
+				+ StringUtil.nvl(and_remark, "") + "'," + and_price + "," + this.and_pnid + "," + this.b2b_si_id + ")";
 	}
 
 }

+ 114 - 0
src/main/java/com/uas/erp/schedular/b2b/domain/ProdIoPay.java

@@ -0,0 +1,114 @@
+package com.uas.erp.schedular.b2b.domain;
+
+
+import java.util.Date;
+
+/**
+ * 出入库单付款信息
+ *
+ * @author hejq
+ * @date 2019-01-03 10:31
+ */
+public class ProdIoPay extends KeyEntity {
+
+    /**
+     * 单据编号
+     */
+    private String piCode;
+
+    /**
+     * 单据类型
+     */
+    private String piClass;
+
+    /**
+     * 明细行号
+     */
+    private Short piDetNo;
+
+    /**
+     * 付款金额
+     */
+    private Double amount;
+
+    /**
+     * 付款日期
+     */
+    private Date inDate;
+
+    /**
+     * 上传状态
+     */
+    private String status;
+
+    /**
+     * 明细id
+     */
+    private Long pdId;
+
+    public String getPiCode() {
+        return piCode;
+    }
+
+    public void setPiCode(String piCode) {
+        this.piCode = piCode;
+    }
+
+    public String getPiClass() {
+        return piClass;
+    }
+
+    public void setPiClass(String piClass) {
+        this.piClass = piClass;
+    }
+
+    public Short getPiDetNo() {
+        return piDetNo;
+    }
+
+    public void setPiDetNo(Short piDetNo) {
+        this.piDetNo = piDetNo;
+    }
+
+    public Double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Double amount) {
+        this.amount = amount;
+    }
+
+    public Date getInDate() {
+        return inDate;
+    }
+
+    public void setInDate(Date inDate) {
+        this.inDate = inDate;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Long getPdId() {
+        return pdId;
+    }
+
+    public void setPdId(Long pdId) {
+        this.pdId = pdId;
+    }
+
+    /**
+     * 主键值
+     *
+     * @return
+     */
+    @Override
+    public Object getKey() {
+        return this.pdId;
+    }
+}

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

@@ -53,6 +53,68 @@ public class PurchaseDetail {
     private String pd_orispeccode;
 	private List<Attach> attaches;
 
+	//替代料号
+	private String pd_repprodcode;
+	//替代料名称
+	private String pd_repdetail;
+	//替代料规格
+	private String pd_repspec;
+
+	//旧料编号
+	private String pr_oldcode;
+	//旧料名称
+	private String pr_oldname;
+	//旧料规格
+	private String pr_oldspec;
+
+	public String getPr_oldcode() {
+		return pr_oldcode;
+	}
+
+	public void setPr_oldcode(String pr_oldcode) {
+		this.pr_oldcode = pr_oldcode;
+	}
+
+	public String getPr_oldname() {
+		return pr_oldname;
+	}
+
+	public void setPr_oldname(String pr_oldname) {
+		this.pr_oldname = pr_oldname;
+	}
+
+	public String getPr_oldspec() {
+		return pr_oldspec;
+	}
+
+	public void setPr_oldspec(String pr_oldspec) {
+		this.pr_oldspec = pr_oldspec;
+	}
+
+	public String getPd_repprodcode() {
+		return pd_repprodcode;
+	}
+
+	public void setPd_repprodcode(String pd_repprodcode) {
+		this.pd_repprodcode = pd_repprodcode;
+	}
+
+	public String getPd_repdetail() {
+		return pd_repdetail;
+	}
+
+	public void setPd_repdetail(String pd_repdetail) {
+		this.pd_repdetail = pd_repdetail;
+	}
+
+	public String getPd_repspec() {
+		return pd_repspec;
+	}
+
+	public void setPd_repspec(String pd_repspec) {
+		this.pd_repspec = pd_repspec;
+	}
+
 	public String getPd_taxcode() {
 		return pd_taxcode;
 	}

+ 10 - 0
src/main/java/com/uas/erp/schedular/b2b/domain/PurchaseNotify.java

@@ -26,6 +26,16 @@ public class PurchaseNotify extends KeyEntity{
 	//终端供应商,为0表示正常送货提醒
 	private Long pn_terminalvenduu;
 
+	private Long pn_custb2bid;
+
+	public Long getPn_custb2bid() {
+		return pn_custb2bid;
+	}
+
+	public void setPn_custb2bid(Long pn_custb2bid) {
+		this.pn_custb2bid = pn_custb2bid;
+	}
+
 	public int getPn_id() {
 		return pn_id;
 	}

+ 14 - 1
src/main/java/com/uas/erp/schedular/b2b/domain/PurchaseProdInOutDetail.java

@@ -20,7 +20,20 @@ public class PurchaseProdInOutDetail {
 	private String pd_remark;//备注
 	private String pd_prodcode;//物料编号
 	private String pd_whname;//仓库名称
-	
+
+	/**
+	 * 平台送货单明细id
+	 */
+	private Long b2b_si_id;
+
+	public Long getB2b_si_id() {
+		return b2b_si_id;
+	}
+
+	public void setB2b_si_id(Long b2b_si_id) {
+		this.b2b_si_id = b2b_si_id;
+	}
+
 	public String getPd_prodcode() {
 		return pd_prodcode;
 	}

+ 24 - 4
src/main/java/com/uas/erp/schedular/b2b/task/PurchaseNotifyTask.java

@@ -11,6 +11,7 @@ import com.uas.erp.schedular.util.ContextHolder;
 import com.uas.erp.schedular.util.DateUtil;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -142,10 +143,29 @@ public class PurchaseNotifyTask extends AbstractTask {
         List<AcceptNotify> accepts = getAcceptNotify();
         if (!CollectionUtils.isEmpty(accepts)) {
             ContextHolder.setDataSize(accepts.size());
-            post("/erp/purchase/notice/accept", dataWrap(accepts));
-            // 修改状态
-            String idStr = CollectionUtil.getKeyString(accepts);
-            jdbcTemplate.execute("update AcceptNotify set an_sendstatus='已下载' where an_id in(" + idStr + ")");
+            List<AcceptNotify> acceptNotifies = postForList("/erp/purchase/notice/accept", AcceptNotify.class, dataWrap(accepts));
+            if (!CollectionUtils.isEmpty(acceptNotifies)) {
+                List<String> sqlList = new ArrayList<>();
+                for (AcceptNotify acceptNotify : acceptNotifies) {
+                    if (!StringUtils.isEmpty(acceptNotify.getB2b_ss_id())) {
+                        sqlList.add("update AcceptNotify set an_sendstatus='已下载', b2b_ss_id = " + acceptNotify.getB2b_ss_id() + " where an_id = " + acceptNotify.getAn_id());
+                        List<AcceptNotifyDetail> details = acceptNotify.getDetails();
+                        if (!CollectionUtils.isEmpty(details)) {
+                            for (AcceptNotifyDetail detail : details) {
+                                if (!StringUtils.isEmpty(detail.getB2b_si_id())) {
+                                    sqlList.add("update AcceptNotifyDetail set b2b_si_id = " + detail.getB2b_si_id() + " where and_id = " + detail.getAnd_id());
+                                }
+                            }
+                        }
+                    }
+                }
+                if (!CollectionUtils.isEmpty(sqlList)) {
+                    jdbcTemplate.batchExecute(sqlList);
+                }
+            }
+//            // 修改状态
+//            String idStr = CollectionUtil.getKeyString(accepts);
+//            jdbcTemplate.execute("update AcceptNotify set an_sendstatus='已下载' where an_id in(" + idStr + ")");
         }
     }
 

+ 16 - 1
src/main/java/com/uas/erp/schedular/b2b/task/PurchaseProdInOutTask.java

@@ -1,6 +1,7 @@
 package com.uas.erp.schedular.b2b.task;
 
 import com.uas.erp.schedular.b2b.domain.ProdInOutRefreshPrice;
+import com.uas.erp.schedular.b2b.domain.ProdIoPay;
 import com.uas.erp.schedular.b2b.domain.PurchaseProdInOut;
 import com.uas.erp.schedular.b2b.domain.PurchaseProdInOutDetail;
 import com.uas.erp.schedular.task.support.Role;
@@ -37,7 +38,7 @@ public class PurchaseProdInOutTask extends AbstractTask {
      */
     private List<PurchaseProdInOut> getProInOutUpload() {
         List<PurchaseProdInOut> prodInOuts = jdbcTemplate.queryForBeanList(
-                "select * from (select prodinout.*, ve_uu pi_vendoruu from prodinout left join vendor on prodinout.pi_cardcode = vendor.ve_code where pi_class='采购验收单' and pi_status = '已过账' and (pi_sendstatus = '待上传' or pi_sendstatus='上传中') and coalesce(ve_uu, '0') <> '0' and nvl(ve_b2benable,0)=1 ) where rownum <= 2 and exists (select 1 from purchase,prodiodetail where pd_piid=pi_id and pu_sendstatus='已上传')",
+                "select * from (select prodinout.*, ve_uu pi_vendoruu from prodinout left join vendor on prodinout.pi_cardcode = vendor.ve_code where pi_class='采购验收单' and pi_status = '已过账' and (pi_sendstatus = '待上传' or pi_sendstatus='上传中') and coalesce(ve_uu, '0') <> '0' and nvl(ve_b2benable,0)=1 ) where rownum <= 20 and exists (select 1 from purchase,prodiodetail where pd_piid=pi_id and pu_sendstatus='已上传')",
                 PurchaseProdInOut.class);
         System.out.println(CollectionUtil.getKeyString(prodInOuts));
         for (PurchaseProdInOut prodInOut : prodInOuts) {
@@ -251,4 +252,18 @@ public class PurchaseProdInOutTask extends AbstractTask {
             jdbcTemplate.batchExecute(sqlList);
         }
     }
+
+    @TaskMapping(title = "更新出入单付款金额", fixedDelay = 60000)
+    public void uploadUpdateProdIoPayment() {
+        String sql = "select * from (select piCode,piClass,piDetNo,amount,inDate,status,pdId from prodIoPay where status = '待上传' " +
+                "and piClass in ('采购验收单', '采购验退单', '不良品入库单', '不良品出库单', '委外验收单', '委外验退单', '其它应付单')" +
+                " order by inDate) where rowNum <= 400";
+        List<ProdIoPay> payList = jdbcTemplate.queryForBeanList(sql, ProdIoPay.class);
+        if (!CollectionUtils.isEmpty(payList)) {
+            ContextHolder.setDataSize(payList.size());
+            post("/erp/prodIoPay", dataWrap(payList));
+            String idStr = CollectionUtil.getKeyString(payList);
+            jdbcTemplate.execute("update prodIoPay set status = '已上传' where pdId in (" + idStr + ")");
+        }
+    }
 }

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

@@ -67,7 +67,7 @@ public class PurchaseTask extends AbstractTask {
         List<Purchase> thisPost = new ArrayList<>();
         int count = 0;
         for (Purchase purchase : purchases) {
-            List<PurchaseDetail> purchaseDetails = jdbcTemplate.queryForBeanList("select * from (select p.*,(select max(pv_vendprodspec) from productvendor where pv_prodcode=pd_prodcode and pv_vendcode=?) as pd_vendspec from purchasedetail p where pd_puid=?)",
+            List<PurchaseDetail> purchaseDetails = jdbcTemplate.queryForBeanList("select * from (select p.*,product.pr_oldcode ,product.pr_oldname,product.pr_oldspec,(select max(pv_vendprodspec) from productvendor where pv_prodcode=pd_prodcode and pv_vendcode=?) as pd_vendspec from purchasedetail p left join product on pr_code=pd_prodcode where pd_puid=?)",
                     PurchaseDetail.class, purchase.getPu_vendcode(), purchase.getPu_id());
             if (!CollectionUtils.isEmpty(purchaseDetails)) {
                 for(PurchaseDetail detail : purchaseDetails) {
@@ -174,7 +174,7 @@ public class PurchaseTask extends AbstractTask {
 
     @TaskMapping(title = "上传主动回复的记录到平台", fixedDelay = 60000, enabled = false)
     public void uploadPurchaseReply() {
-        List<PurchaseReply> replies = jdbcTemplate.queryForBeanList("select * from (select pr_id,pr_qty,pr_delivery,pr_remark,pr_pucode,pr_pddetno,pr_date,pr_recorder,b2b_pr_id,pr_type from PurchaseReply left join PurchaseDetail on pr_pucode=pd_code and pr_pddetno=pd_detno left join purchase on pd_puid=pu_id left join vendor on pu_vendcode=ve_code where PR_SENDSTATUS='待上传' and coalesce(ve_uu, '0') <> '0' and nvl(ve_b2benable,0)=1 and nvl(b2b_pr_id,0)=0 order by pr_date) where rownum <= 200",
+        List<PurchaseReply> replies = jdbcTemplate.queryForBeanList("select * from (select pr_id,pr_qty,pr_delivery,pr_remark,pr_pucode,pr_pddetno,pr_date,pr_recorder,b2b_pr_id,pr_type from PurchaseReply left join PurchaseDetail on pr_pucode=pd_code and pr_pddetno=pd_detno left join purchase on pd_puid=pu_id left join vendor on pu_vendcode=ve_code where PR_SENDSTATUS='待上传' and coalesce(ve_uu, '0') <> '0' and nvl(ve_b2benable,0)=1 and nvl(b2b_pr_id,0)=0 order by pr_date) where rownum <= 10",
                 PurchaseReply.class);
         if (!CollectionUtils.isEmpty(replies)) {
             ContextHolder.setDataSize(replies.size());

+ 1 - 1
src/main/java/com/uas/erp/schedular/b2b/task/SaleAPCheckTask.java

@@ -47,7 +47,7 @@ public class SaleAPCheckTask extends AbstractTask {
                 if (!CollectionUtils.isEmpty(aPCheck.getDetails())) {
                     for (APCheckDetail aPCheckDetail : aPCheck.getDetails()) {
                         String orderClass = null;
-                        if (aPCheckDetail.getAd_orderclass().equals("货款调账")) {
+                        if ("货款调账".equals(aPCheckDetail.getAd_orderclass())) {
                             orderClass = "APBILL";
                         } else {
                             orderClass = "PRODINOUT";

+ 1 - 1
src/main/java/com/uas/erp/schedular/database/RestJdbcTemplate.java

@@ -32,7 +32,7 @@ public class RestJdbcTemplate {
     private SettingService settingService;
 
     private String getUrl() {
-        return settingService.getValue("api.database.url") == null ? "http://127.0.0.1:9002/uas_database" : settingService.getValue("api.database.url");
+        return settingService.getValue("api.database.url");
     }
 
     /**

+ 2 - 1
src/main/java/com/uas/erp/schedular/listen/ListenTask.java

@@ -120,7 +120,8 @@ public class ListenTask {
                         str.append("、" + (StringUtils.isEmpty(master.getMa_function()) ? master.getMa_name() : master.getMa_function()));
                     }
                 }
-                MasterTaskConfigId configId = new MasterTaskConfigId(null, null, masters.get(0).getMa_name());
+                MasterTaskConfigId configId = new MasterTaskConfigId(null, null,
+                        masters.get(0).getMa_name().toUpperCase());
                 List<MasterTaskConfigEntity> taskConfigs = scheduledTaskService.getTaskConfigs(configId, "b2b", "BUYER");
                 if (!CollectionUtils.isEmpty(taskConfigs)) {
                     ListenDomain listenDomain = new ListenDomain(MACADDRESS,

+ 3 - 3
src/main/resources/init/setting.json

@@ -13,7 +13,7 @@
 },{
   "key": "api.b2b.test.url",
   "description": "优软B2B平台测试接口地址",
-  "value": "http://218.17.158.219:9000/b2b_test"
+  "value": "http://test-b2b.uuzcc.cn"
 },{
   "key": "api.b2b.url",
   "description": "优软B2B平台正式接口地址",
@@ -42,7 +42,7 @@
 },{
   "key": "api.publicinquiry.test.url",
   "description": "公共询价测试地址",
-  "value": "http://192.168.253.12:24000/"
+  "value": "http://test-inquiry.uuzcc.cn"
 },{
   "key": "api.publicinquiry.url",
   "description": "公共询价正式地址",
@@ -50,7 +50,7 @@
 },{
   "key": "api.publicproduct.test.url",
   "description": "公共物料测试地址",
-  "value": "http://192.168.253.12:24000/"
+  "value": "http://test-product.uuzcc.cn"
 },{
   "key": "api.publicproduct.url",
   "description": "公共物料正式地址",

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

@@ -73,6 +73,9 @@ public class PurchaseChangeTest extends AbstractTask {
     @Autowired
     InquiryMouldTask inquiryMouldTask;
 
+    @Autowired
+    SaleAPCheckTask saleAPCheckTask;
+
 
     @Test
     public void uploadPurchaseChangeTest() {
@@ -187,6 +190,20 @@ public class PurchaseChangeTest extends AbstractTask {
         prodTask.uploadProduct();
     }
 
+    //数码科技
+    @Test
+    public void uploadPurchaseChangeTestYITOA_TECHNO() {
+
+        Master master = new Master();
+        master.setMa_user("YITOA_TECHNO");
+        master.setMa_uu(10044101L);
+        master.setMa_accesssecret("1d6824b48a2a437eb3c810b59659ccbc");
+        master.setMa_env("prod");
+        master.setMa_name("YITOA_TECHNO");
+        ContextHolder.setMaster(master);
+        saleAPCheckTask.downloadSaleARCheck();
+    }
+
     @Test
     public void test() {
         for (int i = 0;i < 10;i++) {