浏览代码

feat(prodIoPay): 新增轮询任务,同步更新出入库单付款记录

hejq 7 年之前
父节点
当前提交
707640621d

+ 1 - 0
build.gradle

@@ -57,6 +57,7 @@ dependencies {
     compile "com.h2database:h2"
     compile "com.alibaba:fastjson:$fastjsonVersion"
     compile "com.uas.api:b2c-erp-api:$mallApiVersion"
+    compile "org.projectlombok:lombok:1.18.4"
 }
 
 bootRun {

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

@@ -0,0 +1,115 @@
+package com.uas.erp.schedular.b2b.domain;
+
+import lombok.Data;
+
+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;
+    }
+}

+ 15 - 0
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;
@@ -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 + ")");
+        }
+    }
 }