Browse Source

【越加红】纷享销客 物料资料上传修改

wub 3 years ago
parent
commit
b1ca1f8c3e

+ 10 - 0
src/main/java/com/uas/eis/beans/result/Goods.java

@@ -21,6 +21,15 @@ public class Goods implements Serializable {
     private String category;
     private List<Map<String,Object>> sku;
     private String _id;
+    private String item_code__c;
+
+    public String getItem_code__c() {
+        return item_code__c;
+    }
+
+    public void setItem_code__c(String item_code__c) {
+        this.item_code__c = item_code__c;
+    }
 
     public String get_id() {
         return _id;
@@ -124,6 +133,7 @@ public class Goods implements Serializable {
                 .add("category", category)
                 .add("sku", sku)
                 .add("_id",_id)
+                .add("item_code__c",item_code__c)
                 .toString();
     }
 }

+ 51 - 0
src/main/java/com/uas/eis/beans/result/Product.java

@@ -14,6 +14,52 @@ public class Product implements Serializable {
     private String field_i0v47__c;//样品仓库存
     private String field_iW998__c;//批量仓库存
     private String field_dioys__c;//物料类型
+    private String product_code;//物料编号
+    private String UDSText1__c;//品牌
+    private String product_spec;//规格属性
+    private String field_r02le__c;//最小包装
+    private String unit;//单位
+
+
+    public String getProduct_code() {
+        return product_code;
+    }
+
+    public void setProduct_code(String product_code) {
+        this.product_code = product_code;
+    }
+
+    public String getUDSText1__c() {
+        return UDSText1__c;
+    }
+
+    public void setUDSText1__c(String UDSText1__c) {
+        this.UDSText1__c = UDSText1__c;
+    }
+
+    public String getProduct_spec() {
+        return product_spec;
+    }
+
+    public void setProduct_spec(String product_spec) {
+        this.product_spec = product_spec;
+    }
+
+    public String getField_r02le__c() {
+        return field_r02le__c;
+    }
+
+    public void setField_r02le__c(String field_r02le__c) {
+        this.field_r02le__c = field_r02le__c;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
 
     public String getDataObjectApiName() {
         return dataObjectApiName;
@@ -72,6 +118,11 @@ public class Product implements Serializable {
                 .add("field_i0v47__c", field_i0v47__c)
                 .add("field_iW998__c", field_iW998__c)
                 .add("field_dioys__c", field_dioys__c)
+                .add("product_code",product_code)
+                .add("UDSText1__c", UDSText1__c)
+                .add("product_spec", product_spec)
+                .add("field_r02le__c", field_r02le__c)
+                .add("unit", unit)
                 .toString();
     }
 }

+ 31 - 13
src/main/java/com/uas/eis/task/ProductTask.java

@@ -32,9 +32,9 @@ public class ProductTask {
     @Autowired
     private ProductManager productManager;
 
-    @Scheduled(cron = "*/10 * * * * ?")
+    @Scheduled(cron = "0 0/5 * * * ?")
     public void syncProducts() {
-        SqlRowList rs = baseDao.queryForRowSet("select pr_id,pr_code,pr_detail,pr_unit,pr_standardprice from product where 1=2 and nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sendstatus,' ')='待上传' order by pr_id");
+        SqlRowList rs = baseDao.queryForRowSet("select * from (select * from product where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sendstatus,' ')='待上传' order by pr_id) where rownum<=100");
         while (rs.next()){
             List<Map<String,Object>> sku = new ArrayList<>();
             Map<String,Object> map = new HashMap<>();
@@ -49,23 +49,31 @@ public class ProductTask {
             goods.setIs_spec(false);
             goods.setStandard_price(rs.getDouble("pr_standardprice") == -1.0 ? 0.0 : rs.getDouble("pr_standardprice"));
             goods.setProduct_line("1");
-            goods.setName(rs.getString("pr_detail"));
+            goods.setName(rs.getString("pr_detail")+"~"+rs.getGeneralString("pr_spec"));
             goods.setCategory("6");
             goods.setSku(sku);
+            goods.setItem_code__c(rs.getGeneralString("pr_code"));
             try {
                 CrmAddResult crmAddResult = productManager.addGoods(goods);
                 int errorCode = crmAddResult.getErrorCode();
                 String dataId = crmAddResult.getDataId();
                 String extraData = crmAddResult.getExtraData();
                 if(errorCode == 0){
+                    //上传后更新部分字段
+                    Product product = setProduct(rs);
+                    product.set_id(extraData);
+                    BaseResult baseResult = productManager.updateGoods(product);
+                    if(baseResult.getErrorCode() != 0){
+                        baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+baseResult.getErrorMessage()+"','物料资料上传后更新失败','"+rs.getString("pr_code")+"')");
+                    }
                     baseDao.execute("update product set pr_sendstatus='已上传',PR_FXXKDATAID='"+extraData+"' where pr_id="+rs.getInt("pr_id"));
-                    //baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'物料资料上传成功','物料资料上传','"+rs.getString("pr_code")+"')");
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'物料资料上传成功','物料资料上传','"+rs.getString("pr_code")+"')");
                 }else{
-                    //baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmAddResult.getErrorMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmAddResult.getErrorMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
                     logger.info("异常信息:"+crmAddResult.getErrorMessage());
                 }
             }catch (Exception e){
-                //baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+e.getMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
+                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+e.getMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
                 logger.info("异常信息:"+e.getMessage());
                 e.printStackTrace();
             }
@@ -76,13 +84,7 @@ public class ProductTask {
     public void syncUpdateProducts() {
         SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct pis_prodcode from productInfoSync where 1=2 and trunc(pis_date)=trunc(sysdate)) left join product on pis_prodcode=pr_code order by pr_id");
         while (rs.next()){
-            Product product = new Product();
-            product.setDataObjectApiName("ProductObj");
-            product.set_id(rs.getGeneralString("pr_fxxkdataid"));
-            product.setField_ea4Nh__c(rs.getGeneralDouble("pr_purcprice"));
-            product.setField_i0v47__c(rs.getGeneralString("pr_YPstock"));
-            product.setField_iW998__c(rs.getGeneralString("pr_PLstock"));
-            product.setField_dioys__c(rs.getGeneralString("pr_serial"));
+            Product product = setProduct(rs);
             try {
                 BaseResult baseResult = productManager.updateGoods(product);
                 int errorCode = baseResult.getErrorCode();
@@ -99,4 +101,20 @@ public class ProductTask {
             }
         }
     }
+
+    private Product setProduct(SqlRowList rs){
+        Product product = new Product();
+        product.setDataObjectApiName("ProductObj");
+        product.set_id(rs.getGeneralString("pr_fxxkdataid"));
+        product.setField_ea4Nh__c(rs.getGeneralDouble("pr_purcprice"));
+        product.setField_i0v47__c(rs.getGeneralString("pr_YPstock"));
+        product.setField_iW998__c(rs.getGeneralString("pr_PLstock"));
+        product.setField_dioys__c(rs.getGeneralString("pr_serial"));
+        product.setProduct_code(rs.getGeneralString("pr_code"));
+        product.setUDSText1__c(rs.getGeneralString("pr_brand"));
+        product.setProduct_spec(rs.getGeneralString("pr_spec"));
+        product.setField_r02le__c(rs.getGeneralString("pr_zxbzs"));
+        product.setUnit(rs.getGeneralString("pr_unit"));
+        return product;
+    }
 }