|
|
@@ -36,36 +36,14 @@ public class ProductTask {
|
|
|
public void syncProducts() {
|
|
|
SqlRowList rs = baseDao.queryForRowSet("select * from (select * from product where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sendstatus,' ')='待上传' order by pr_id) where rownum<=200");
|
|
|
while (rs.next()){
|
|
|
- List<Map<String,Object>> sku = new ArrayList<>();
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
- List spec_and_value = new ArrayList();
|
|
|
- map.put("spec_and_value",spec_and_value);
|
|
|
- map.put("product_status","1");
|
|
|
- map.put("unit",rs.getString("pr_unit"));
|
|
|
- sku.add(map);
|
|
|
- Goods goods = new Goods();
|
|
|
- goods.setDataObjectApiName("SPUObj");
|
|
|
- goods.setUnit(rs.getString("pr_unit"));
|
|
|
- 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_brand")+"~"+rs.getGeneralString("pr_spec"));
|
|
|
- goods.setCategory("6");
|
|
|
- goods.setSku(sku);
|
|
|
+ Product product = setProduct(rs);
|
|
|
+ product.set_id("");
|
|
|
try {
|
|
|
- CrmAddResult crmAddResult = productManager.addGoods(goods);
|
|
|
+ CrmAddResult crmAddResult = productManager.addProducts(product);
|
|
|
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("update product set pr_sendstatus='已上传',PR_FXXKDATAID='"+dataId+"' 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")+"')");
|
|
|
}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")+"')");
|
|
|
@@ -114,6 +92,9 @@ public class ProductTask {
|
|
|
product.setField_cwppk__c(rs.getGeneralString("pr_fz_user"));
|
|
|
product.setField_r02le__c(rs.getGeneralString("pr_zxbzs"));
|
|
|
product.setUnit(rs.getGeneralString("pr_unit"));
|
|
|
+ product.setName(rs.getGeneralString("pr_brand")+"~"+rs.getGeneralString("pr_spec"));
|
|
|
+ product.setPrice(rs.getGeneralDouble("pr_standardprice"));
|
|
|
+ product.setCategory("6");
|
|
|
return product;
|
|
|
}
|
|
|
}
|