|
|
@@ -1,11 +1,12 @@
|
|
|
package com.uas.eis.task;
|
|
|
|
|
|
+import com.uas.eis.beans.result.BaseResult;
|
|
|
import com.uas.eis.beans.result.CrmAddResult;
|
|
|
import com.uas.eis.beans.result.Goods;
|
|
|
+import com.uas.eis.beans.result.Product;
|
|
|
import com.uas.eis.dao.BaseDao;
|
|
|
import com.uas.eis.dao.SqlRowList;
|
|
|
import com.uas.eis.manager.ProductManager;
|
|
|
-import com.uas.eis.utils.StringUtil;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -33,7 +34,7 @@ public class ProductTask {
|
|
|
|
|
|
@Scheduled(cron = "*/10 * * * * ?")
|
|
|
public void syncProducts() {
|
|
|
- SqlRowList rs = baseDao.queryForRowSet("select pr_id,pr_code,pr_detail,pr_unit,pr_standardprice from product where nvl(pr_sendstatus,' ')='待上传' and 1=2 order by pr_id");
|
|
|
+ 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");
|
|
|
while (rs.next()){
|
|
|
List<Map<String,Object>> sku = new ArrayList<>();
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
@@ -55,8 +56,9 @@ public class ProductTask {
|
|
|
CrmAddResult crmAddResult = productManager.addGoods(goods);
|
|
|
int errorCode = crmAddResult.getErrorCode();
|
|
|
String dataId = crmAddResult.getDataId();
|
|
|
+ String extraData = crmAddResult.getExtraData();
|
|
|
if(errorCode == 0){
|
|
|
- baseDao.execute("update product set pr_sendstatus='已上传',PR_FXXKDATAID='"+dataId+"' where pr_id="+rs.getInt("pr_id"));
|
|
|
+ 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")+"')");
|
|
|
}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")+"')");
|
|
|
@@ -69,4 +71,32 @@ public class ProductTask {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Scheduled(cron = "*/10 * * * * ?")
|
|
|
+ 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"));
|
|
|
+ try {
|
|
|
+ BaseResult baseResult = productManager.updateGoods(product);
|
|
|
+ int errorCode = baseResult.getErrorCode();
|
|
|
+ if(errorCode == 0){
|
|
|
+ baseDao.execute("update productInfoSync set pis_updatestatus='已更新',pis_updatedate=sysdate where pis_prodcode='"+rs.getInt("pr_id")+"' and trunc(pis_date)=trunc(sysdate)");
|
|
|
+ }else{
|
|
|
+ baseDao.execute("update productInfoSync set pis_error='"+baseResult.getErrorMessage()+"' where pis_prodcode='"+rs.getInt("pr_id")+"' and trunc(pis_date)=trunc(sysdate)");
|
|
|
+ logger.info("异常信息:"+baseResult.getErrorMessage());
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ baseDao.execute("update productInfoSync set pis_error='"+e.getMessage()+"' where pis_prodcode='"+rs.getInt("pr_id")+"' and trunc(pis_date)=trunc(sysdate)");
|
|
|
+ logger.info("异常信息:"+e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|