Browse Source

【易探】【增加同步人员资料crm唯一id 接口】

samhoo 3 years ago
parent
commit
7e82745f41
1 changed files with 41 additions and 0 deletions
  1. 41 0
      src/main/java/com/uas/eis/task/YITCustomerTask.java

+ 41 - 0
src/main/java/com/uas/eis/task/YITCustomerTask.java

@@ -5,6 +5,7 @@ import com.uas.eis.beans.result.CrmQueryResult;
 import com.uas.eis.beans.result.Customer;
 import com.uas.eis.beans.result.Customer;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.SqlRowList;
 import com.uas.eis.dao.SqlRowList;
+import com.uas.eis.manager.CommonManager;
 import com.uas.eis.manager.CustomerManager;
 import com.uas.eis.manager.CustomerManager;
 import com.uas.eis.utils.Constant;
 import com.uas.eis.utils.Constant;
 import com.uas.eis.utils.DateUtil;
 import com.uas.eis.utils.DateUtil;
@@ -33,6 +34,8 @@ public class YITCustomerTask {
     private BaseDao baseDao;
     private BaseDao baseDao;
     @Autowired
     @Autowired
     private CustomerManager customerManager;
     private CustomerManager customerManager;
+    @Autowired
+    private CommonManager commonManager;
 
 
     @Scheduled(cron = "0 0/5 * * * ?")
     @Scheduled(cron = "0 0/5 * * * ?")
     public void syncCustomers() {
     public void syncCustomers() {
@@ -155,6 +158,44 @@ public class YITCustomerTask {
         }
         }
     }
     }
 
 
+    /**
+     * 同步人员资料crm唯一id
+     */
+    @Scheduled(cron = "0 0/1 * * * ?")
+    public void syncEmployeeFXXKID() {
+        String Master ="YIT.";
+        SqlRowList rs = baseDao.queryForRowSet("select em_id,em_name,em_code from "+Master+"employee where nvl(EM_FXXKID,' ')=' ' and nvl(EM_ISSYNCFXXKID,0)=-1 order by em_id");
+        while (rs.next()){
+            try {
+                List<String> field_values = new ArrayList<>();
+                field_values.add(rs.getGeneralString("em_name"));
+                CrmQueryResult crmQueryResult = commonManager.queryCommon("name", field_values, "EQ", "name", true, 50, "PersonnelObj", true);
+                int errorCode = crmQueryResult.getErrorCode();
+                if(errorCode == 0) {
+                    Map<String, Object> data = crmQueryResult.getData();
+                    List<Map<String, Object>> dataList = (List<Map<String, Object>>) data.get("dataList");
+                    if(dataList.size()>0){
+                        Object user_id = dataList.get(0).get("user_id");
+                        if(user_id!=null){
+                            baseDao.execute("update "+Master+"employee set em_fxxkid='"+user_id+"' where em_id="+rs.getGeneralInt("em_id"));
+                            baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'人员资料纷享销客主键下载成功','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
+                        }else{
+                            baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
+                            logger.info("异常信息:crm不存在该人员资料");
+                        }
+                    }
+                }else{
+                    baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
+                    logger.info("异常信息:"+crmQueryResult.getErrorMessage());
+                }
+            }catch (Exception e){
+                baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+e.getMessage()+"','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
+                logger.info("异常信息:"+e.getMessage());
+                e.printStackTrace();
+            }
+        }
+    }
+
     private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
     private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
         String Master ="YIT.";
         String Master ="YIT.";
         String ValueField ="";
         String ValueField ="";