Browse Source

【博思达】【小米库存对接】

samhoo 3 years ago
parent
commit
a16277dbf2

+ 5 - 0
pom.xml

@@ -138,6 +138,11 @@
 			<groupId>org.apache.httpcomponents</groupId>
 			<artifactId>httpclient</artifactId>
 		</dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>fluent-hc</artifactId>
+      <version>4.5.4</version>
+    </dependency>
 		<dependency>
 			<groupId>org.apache.httpcomponents</groupId>
 			<artifactId>httpmime</artifactId>

+ 24 - 0
src/main/java/com/uas/eis/beans/x5domain/X5Exception.java

@@ -0,0 +1,24 @@
+package com.uas.eis.beans.x5domain;
+
+public class X5Exception extends RuntimeException {
+    /*错误编码*/
+    private String code;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public X5Exception(String code, String message) {
+        super(message);
+        this.code = code;
+
+    }
+
+
+    public X5Exception() {
+    }
+}

+ 24 - 0
src/main/java/com/uas/eis/beans/x5domain/X5Request.java

@@ -0,0 +1,24 @@
+package com.uas.eis.beans.x5domain;
+
+import java.io.Serializable;
+
+public class X5Request implements Serializable {
+    private X5RequestHeader header;
+    private Object body;
+
+    public X5RequestHeader getHeader() {
+        return header;
+    }
+
+    public void setHeader(X5RequestHeader header) {
+        this.header = header;
+    }
+
+    public Object getBody() {
+        return body;
+    }
+
+    public void setBody(Object body) {
+        this.body = body;
+    }
+}

+ 49 - 0
src/main/java/com/uas/eis/beans/x5domain/X5RequestHeader.java

@@ -0,0 +1,49 @@
+package com.uas.eis.beans.x5domain;
+
+import java.io.Serializable;
+
+/**
+ * X5协议的请求header
+ */
+public class X5RequestHeader implements Serializable {
+    /*appid*/
+    private String appid;
+    /*防伪摘要*/
+    private String sign;
+    /*请求的URL*/
+    private String url;
+    /*调用函数*/
+    private String method;
+
+    public String getAppid() {
+        return appid;
+    }
+
+    public void setAppid(String appid) {
+        this.appid = appid;
+    }
+
+    public String getSign() {
+        return sign;
+    }
+
+    public void setSign(String sign) {
+        this.sign = sign;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getMethod() {
+        return method;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+}

+ 32 - 0
src/main/java/com/uas/eis/beans/x5domain/X5Response.java

@@ -0,0 +1,32 @@
+package com.uas.eis.beans.x5domain;
+
+
+import java.io.Serializable;
+
+public class X5Response<T> implements Serializable {
+    private X5ResponseHeader header;
+    private T body;
+
+    public X5ResponseHeader getHeader() {
+        return header;
+    }
+
+    public void setHeader(X5ResponseHeader header) {
+        this.header = header;
+    }
+
+    public T getBody() {
+        return body;
+    }
+
+    public void setBody(T body) {
+        this.body = body;
+    }
+
+    public X5Response() {
+    }
+
+    public X5Response(X5ResponseHeader header) {
+        this.header = header;
+    }
+}

+ 37 - 0
src/main/java/com/uas/eis/beans/x5domain/X5ResponseHeader.java

@@ -0,0 +1,37 @@
+package com.uas.eis.beans.x5domain;
+
+import java.io.Serializable;
+
+/**
+ * X5协议的返回头
+ */
+public class X5ResponseHeader implements Serializable {
+    /*编码*/
+    private String code;
+    /*描述*/
+    private String desc;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public X5ResponseHeader() {
+    }
+
+    public X5ResponseHeader(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+}

+ 36 - 0
src/main/java/com/uas/eis/httpclient/X5HttpClient.java

@@ -0,0 +1,36 @@
+package com.uas.eis.httpclient;
+
+public class X5HttpClient {
+    protected static final int DEFAULT_COMMECT_TIMEOUT = 3000;
+    protected static final int DEFAULT_SOCKET_TIMEOUT = 10000;
+    /*appid*/
+    protected String appid;
+    /*appkey*/
+    protected String appkey;
+    /*请求的URL*/
+    protected String url;
+
+    public String getAppid() {
+        return appid;
+    }
+
+    public void setAppid(String appid) {
+        this.appid = appid;
+    }
+
+    public String getAppkey() {
+        return appkey;
+    }
+
+    public void setAppkey(String appkey) {
+        this.appkey = appkey;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}

+ 87 - 0
src/main/java/com/uas/eis/httpclient/X5JsonHttpClient.java

@@ -0,0 +1,87 @@
+package com.uas.eis.httpclient;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.eis.beans.x5domain.*;
+import com.uas.eis.utils.X5StringUtils;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.http.Header;
+import org.apache.http.HttpResponse;
+import org.apache.http.StatusLine;
+import org.apache.http.client.HttpResponseException;
+import org.apache.http.client.fluent.Form;
+import org.apache.http.client.fluent.Request;
+import org.apache.http.client.fluent.Response;
+import org.apache.http.util.EntityUtils;
+
+import javax.xml.bind.DatatypeConverter;
+import java.io.UnsupportedEncodingException;
+
+public class X5JsonHttpClient extends X5HttpClient {
+    /**
+     * 构造器
+     */
+    public X5JsonHttpClient(String appId, String appKey, String url) {
+        this.appid = appId;
+        this.appkey = appKey;
+        this.url = url;
+    }
+
+    public <T> X5Response<T> post(Object body) {
+        X5Response<T> x5Response;
+        if (X5StringUtils.isEmpty(appid) || X5StringUtils.isEmpty(appkey) || X5StringUtils.isEmpty(url)) {
+            throw new X5Exception("1016", "The request at least contains appid appkey and url.");
+        }
+        System.out.println("appid哈哈:"+appid+":"+appkey+":"+url);
+        String bodyString = null;
+        if (body instanceof String) {
+            bodyString = body.toString();
+        } else {
+            bodyString = JSON.toJSONString(body);
+        }
+        String sign = upperCase(DigestUtils.md5Hex(appid + bodyString + appkey));
+        System.out.println("3啊"+sign);
+        //拼装header信息
+        X5RequestHeader header = new X5RequestHeader();
+        header.setAppid(appid);
+        header.setSign(sign);
+        header.setUrl(url);
+        //拼装X5请求信息
+        X5Request x5Request = new X5Request();
+        x5Request.setHeader(header);
+        x5Request.setBody(bodyString);
+        //构造请求参数
+        String data = X5StringUtils.encodeBase64(JSON.toJSONString(x5Request));
+        System.out.println("4啊"+data);
+        String encoding = null;
+        try {
+            encoding = DatatypeConverter.printBase64Binary("RFCMESUPSTAR:dhH9$qFr".getBytes("UTF-8"));  //username  password 自行修改  中间":"不可少
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        System.out.println("5啊"+encoding);
+        try {
+            Response executeResult = Request.Post(url).addHeader("Content-Type", "application/x-www-form-urlencoded").setHeader("Authorization","Basic " + encoding).connectTimeout(DEFAULT_COMMECT_TIMEOUT).socketTimeout(DEFAULT_SOCKET_TIMEOUT).bodyForm(Form.form().add("data", data).build()).execute();
+            HttpResponse httpResponse = executeResult.returnResponse();
+            System.out.println("6啊"+httpResponse);
+            StatusLine statusLine = httpResponse.getStatusLine();
+            int statusCode = statusLine.getStatusCode();
+            String responseContent = EntityUtils.toString(httpResponse.getEntity(), "utf-8");
+            if (statusCode == 200) {
+                x5Response = JSON.parseObject(responseContent, X5Response.class);
+            } else {
+                throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getStatusCode() + " " + statusLine.getReasonPhrase());
+            }
+        } catch (Exception ex) {
+            x5Response = new X5Response(new X5ResponseHeader("2000", ex.getMessage()));
+        }
+
+        return x5Response;
+    }
+
+    /**
+     * 将String转为大写
+     */
+    private static String upperCase(String str) {
+        return str == null ? null : str.toUpperCase();
+    }
+}

+ 0 - 255
src/main/java/com/uas/eis/task/CustomerTask.java

@@ -1,255 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.result.BaseResult;
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.beans.result.Customer;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.manager.CustomerManager;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class CustomerTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CustomerManager customerManager;
-    @Autowired
-    private CommonManager commonManager;
-
-    @Scheduled(cron = "0 0/15 * * * ?")
-    public void syncCustomers() {
-        try {
-            List<String> field_values = new ArrayList<>();
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from FXXKDockingErrorlog where nvl(ML_TYPE,' ')='客户资料下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-                CrmQueryResult crmQueryResult = customerManager.queryCustomer(field_values);
-                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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0;
-                    if(dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long create_time_Last = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("create_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            //判断负责人是否存在于人员资料名称中 CRM负责人名称字段:owner__r
-                            Map<String,Object> owner__r = (Map<String,Object>) dataList.get(i).get("owner__r");
-                            //负责人姓名
-                            String owner = owner__r==null ? "" : owner__r.get("name").toString();
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            if(baseDao.checkIf("PreCustomer", "cu_name='" + name + "'")){
-                                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'客户名称已存在','客户资料下载','"+name+"')");
-                                logger.info("异常信息:客户名称已存在");
-                                n++;
-                                continue;
-                            }
-                            try {
-                                Object em_code = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + dataList.get(i).get("field_w9e4q__c") + "'");
-                                Object cu_sellercode = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + owner + "'");
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                String cuKind = getDisplayField(dataList, i, "account_type", "客户类型");
-                                String wbsk_user = getDisplayField(dataList, i, "UDSSel1__c", "收款方式");//外部收款方式
-                                Object[] pa_data = baseDao.getFieldsDataByCondition("Payments", new String[]{"pa_id","pa_code"}, "nvl(pa_class,' ')='收款方式' and pa_name='" + wbsk_user + "'");//获取收款方式编号
-                                String paID = (pa_data == null || pa_data[0] == null) ? "" : pa_data[0].toString();
-                                String paCode = (pa_data == null || pa_data[1] == null) ? "" : pa_data[1].toString();
-                                String cu_level = getDisplayField(dataList, i, "account_level", "客户级别");
-                                String cu_turnSAP = getDisplayField(dataList, i, "field_RYzRf__c", "是否转正式客户在SAP内建档");
-                                String cu_currency = getDisplayField(dataList, i, "field_e2HeP__c", "货币");
-                                String cu_recordType = getDisplayField(dataList, i, "record_type", "业务类型");
-                                String cu_industry = getDisplayField(dataList, i, "field_00Ijp__c", "所属行业");
-                                String cu_taxrate = getDisplayField(dataList, i, "field_nhi2w__c", "税率");
-                                String cu_code = baseDao.sGetMaxNumber("PreCustomer", 2);
-                                //field_giBJk__c:收货人 UDSText5__c:送货地址 UDSText1__c:法定代表人 UDSText2__c:注册资金
-                                String sql="insert into PreCustomer(cu_id,cu_code,cu_name,cu_shortname,cu_add2,cu_sellercode,cu_sellername,cu_servicecode,cu_servicename,cu_kind," +
-                                        "cu_contact,cu_add1,cu_lawman,cu_regamount,cu_rate,cu_wbsk_user," +
-                                        //"cu_paymentid,cu_paymentscode,cu_payments," +
-                                        "cu_level,cu_industry,cu_mainbusiness,cu_turnSAP,cu_currency,cu_taxrate," +
-                                        "cu_dealstatus,cu_Shipmentamount,cu_receivable,cu_businessRegister,cu_recordType," +
-                                        "cu_mobile,cu_email,cu_recordman,cu_recorddate,cu_lastdate,cu_auditstatus,cu_auditstatuscode,cu_remark,CU_FXXKID)" +
-                                        "values(PRECUSTOMER_SEQ.nextval,'"+cu_code+"','"+name+"','"+dataList.get(i).get("UDSText3__c")+"','"+ dataList.get(i).get("address")+"'," +
-                                        "'"+(cu_sellercode==null?"":cu_sellercode)+"','"+owner+"','"+em_code+"','"+dataList.get(i).get("field_w9e4q__c")+"','"+cuKind+"'," +
-                                        "'"+getNotNull(dataList,i,"field_giBJk__c")+"','"+getNotNull(dataList,i,"UDSText5__c")+"'," +
-                                        "'"+getNotNull(dataList,i,"UDSText1__c")+"','"+getNotNull(dataList,i,"UDSText2__c")+"','" +
-                                        getNotNull(dataList,i,"field_1l3xo__c")+"','"+wbsk_user+"','"
-                                        //+paID+"','"+paCode+"','"+wbsk_user+"','"
-                                        +cu_level+"','"+cu_industry+"'," +
-                                        "'"+getNotNull(dataList,i,"UDSText4__c")+"','"+cu_turnSAP+"','"+cu_currency+"',"+cu_taxrate+",'"+getNotNull(dataList,i,"deal_status")+"'," +
-                                        "'"+getNotNull(dataList,i,"field_Ezg0w__c")+"','"+getNotNull(dataList,i,"field_59oLF__c")+"','"+getNotNull(dataList,i,"biz_reg_name")+"','"+cu_recordType+"',"+
-                                        "'"+dataList.get(i).get("tel")+"','"+dataList.get(i).get("email")+"'," +
-                                        "'CRM',"+DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+"," +
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+",'已审核','AUDITED','"+getNotNull(dataList,i,"remark")+"','"+_id+"')";
-                                baseDao.execute(sql);
-                                m++;
-                            }catch (Exception e){
-                                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','客户资料下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条','客户资料下载','"+create_time_Last+"')");
-                    }
-                }else{
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','客户资料下载','')");
-                    logger.info("异常信息:"+crmQueryResult.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()+"','客户资料下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    @Scheduled(cron = "0 0 23 * * ?")
-    public void syncUpdateCustomers() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct cui_code from customerUpdInfo where CUI_UPDATEDATE is null and nvl(cui_type,' ')='普通变更' and trunc(cui_date)=trunc(sysdate)) left join customer on cui_code=cu_code where nvl(cu_name,' ')<>' ' order by cu_id");
-        while (rs.next()){
-            try {
-                Customer customer = new Customer();
-                String valueField = getValueField("客户资料", "客户级别", rs.getGeneralString("cu_level"));
-                customer.setDataObjectApiName("AccountObj");
-                customer.set_id(rs.getGeneralString("cu_fxxkid"));
-                customer.setName(rs.getGeneralString("cu_name"));
-                customer.setAccount_level(valueField);
-                customer.setField_w9e4q__c(rs.getGeneralString("cu_servicename"));
-                BaseResult baseResult = customerManager.updateCustomer(customer);
-                int errorCode = baseResult.getErrorCode();
-                if(errorCode == 0){
-                    baseDao.execute("update customerUpdInfo set cui_updatestatus='已更新',cui_updatedate=sysdate where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                }else{
-                    baseDao.execute("update customerUpdInfo set cui_error='"+baseResult.getErrorMessage()+"' where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                    logger.info("异常信息:"+baseResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update customerUpdInfo set cui_error='"+e.getMessage()+"' where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * 同步人员资料crm唯一id
-     */
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncEmployeeFXXKID() {
-        SqlRowList rs = baseDao.queryForRowSet("select em_id,em_name,em_code from 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 employee set em_fxxkid='"+user_id+"' where em_id="+rs.getGeneralInt("em_id"));
-                            baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'人员资料纷享销客主键下载成功','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
-                        }else{
-                            baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
-                            logger.info("异常信息:crm不存在该人员资料");
-                        }
-                    }
-                }else{
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','人员资料纷享销客主键下载','"+rs.getGeneralString("em_code")+"')");
-                    logger.info("异常信息:"+crmQueryResult.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.getGeneralString("em_code")+"')");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * 变更负责人
-     */
-    @Scheduled(cron = "0 0 23 * * ?")
-    public void syncChangeSellerCustomers() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct cui_code from customerUpdInfo where CUI_UPDATEDATE is null and nvl(cui_type,' ')='变更负责人' and trunc(cui_date)=trunc(sysdate)) left join customer on cui_code=cu_code left join employee on cu_sellercode=em_code where nvl(cu_name,' ')<>' ' order by cu_id");
-        String dataObjectApiName="AccountObj";
-        while (rs.next()){
-            try {
-                if(rs.getGeneralString("em_fxxkid")!=null && !"".equals(rs.getGeneralString("em_fxxkid")) && rs.getGeneralString("cu_fxxkid")!=null && !"".equals(rs.getGeneralString("cu_fxxkid"))){
-                    List<Map<String,Object>> list = new ArrayList<>();
-                    Map<String,Object> map = new HashMap<>();
-                    List<String> emfxxidList = new ArrayList<>();
-                    emfxxidList.add(rs.getGeneralString("em_fxxkid"));
-                    map.put("ownerId",emfxxidList);
-                    map.put("objectDataId",rs.getGeneralString("cu_fxxkid"));
-                    list.add(map);
-                    BaseResult baseResult = commonManager.changeOwnerCommon(list, dataObjectApiName);
-                    int errorCode = baseResult.getErrorCode();
-                    if(errorCode == 0){
-                        baseDao.execute("update customerUpdInfo set cui_updatestatus='已更新',cui_updatedate=sysdate where nvl(cui_type,' ')='变更负责人' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                    }else{
-                        baseDao.execute("update customerUpdInfo set cui_error='"+baseResult.getErrorMessage()+"' where nvl(cui_type,' ')='变更负责人' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                        logger.info("异常信息:"+baseResult.getErrorMessage());
-                    }
-                }else{
-                    baseDao.execute("update customerUpdInfo set cui_error='客户对应业务员对应人员表中纷享销客ID为空或客户资料纷享销客ID为空' where nvl(cui_type,' ')='变更负责人' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                    logger.info("异常信息:客户对应业务员对应人员表中纷享销客ID为空或客户资料纷享销客ID为空");
-                }
-            }catch (Exception e){
-                baseDao.execute("update customerUpdInfo set cui_error='"+e.getMessage()+"' where nvl(cui_type,' ')='变更负责人' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
-        String ValueField ="";
-        Object account_type = dataList.get(i).get(Field);
-        if(account_type !=null && !"".equals(account_type.toString())){
-            Object DISPLAYFIELD = baseDao.getFieldDataByCondition("comboData", "DISPLAYFIELD", "VALUEFIELD='" + account_type + "' and APINAME='"+APINAME+"' and MODULEAPINAME='客户资料'");
-            ValueField= DISPLAYFIELD==null? "" :DISPLAYFIELD.toString();
-        }
-        return ValueField;
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition("comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-
-    private String getNotNull(List<Map<String, Object>> dataList, int i, String Field){
-        return (dataList.get(i).get(Field)==null?"":dataList.get(i).get(Field)).toString();
-    }
-}

+ 0 - 179
src/main/java/com/uas/eis/task/ProductTask.java

@@ -1,179 +0,0 @@
-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.Product;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.ProductManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class ProductTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private ProductManager productManager;
-
-    @Scheduled(cron = "0 0/15 * * * ?")
-    public void syncProducts() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select * from product where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sfjszy_user,' ')<>'是' and nvl(pr_sendstatus,' ')='待上传' order by pr_id) where rownum<=200");
-        while (rs.next()){
-            Product product = setProduct(rs);
-            product.set_id("");
-            try {
-                CrmAddResult crmAddResult = productManager.addProducts(product);
-                int errorCode = crmAddResult.getErrorCode();
-                String dataId = crmAddResult.getDataId();
-                if(errorCode == 0){
-                    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("update product set pr_sendstatus='未上传成功' 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,'"+crmAddResult.getErrorMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
-                    logger.info("异常信息:"+crmAddResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update product set pr_sendstatus='未上传成功' 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,'"+e.getMessage()+"','物料资料上传','"+rs.getString("pr_code")+"')");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Scheduled(cron = "0 0/10 * * * ?")
-    public void syncBannedProducts() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select * from product where nvl(pr_statuscode,' ')='DISABLE' and nvl(pr_sfjszy_user,' ')<>'是' and nvl(pr_sendstatus,' ')='待上传' order by pr_id) where rownum<=200");
-        while (rs.next()){
-            Product product = setProduct(rs);
-            try {
-                BaseResult baseResult = productManager.invalidProduct(product.get_id());
-                int errorCode = baseResult.getErrorCode();
-                if(errorCode == 0){
-                    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("update product set pr_sendstatus='未上传成功' 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,'"+baseResult.getErrorMessage()+"','物料资料作废','"+rs.getString("pr_code")+"')");
-                    logger.info("异常信息:"+baseResult.getErrorMessage());
-                }
-                List<String> idList = new ArrayList<>();
-                idList.add(product.get_id());
-                BaseResult baseResult_del = productManager.deleteProducts(idList);
-                int errorCode_del = baseResult_del.getErrorCode();
-                if(errorCode_del == 0){
-                    baseDao.execute("update product set pr_sendstatus='已上传' 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("update product set pr_sendstatus='未上传成功' 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,'"+baseResult_del.getErrorMessage()+"','物料资料删除','"+rs.getString("pr_code")+"')");
-                    logger.info("异常信息:"+baseResult_del.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update product set pr_sendstatus='未上传成功' 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,'"+e.getMessage()+"','物料资料作废或删除','"+rs.getString("pr_code")+"')");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Scheduled(cron = "0 0 23 * * ?")
-    public void syncUpdateProducts() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct pis_prodcode from productInfoSync where trunc(pis_date)=trunc(sysdate) and pis_updatedate is null) left join product on pis_prodcode=pr_code where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sfjszy_user,' ')<>'是' order by pr_id");
-        while (rs.next()){
-            Product product = setProduct(rs);
-            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.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                }else{
-                    baseDao.execute("update productInfoSync set pis_error='"+baseResult.getErrorMessage()+"' where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                    logger.info("异常信息:"+baseResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update productInfoSync set pis_error='"+e.getMessage()+"' where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-    //是否寄售专用 由否改为是时定时报废CRM对应的物料
-    @Scheduled(cron = "0 30 23 * * ?")
-    public void syncUpdateProductsOnSFJSZY() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct pis_prodcode from productInfoSync where trunc(pis_date)=trunc(sysdate) and pis_updatedate is null) left join product on pis_prodcode=pr_code where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sendstatus,' ')='已上传' and nvl(pr_sfjszy_user,' ')='是' order by pr_id");
-        while (rs.next()){
-            Product product = setProduct(rs);
-            try {
-                BaseResult baseResult = productManager.invalidProduct(product.get_id());
-                int errorCode = baseResult.getErrorCode();
-                if(errorCode == 0){
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'物料资料作废成功','物料资料作废','"+rs.getString("pr_code")+"')");
-                    List<String> idList = new ArrayList<>();
-                    idList.add(product.get_id());
-                    BaseResult baseResult_del = productManager.deleteProducts(idList);
-                    int errorCode_del = baseResult_del.getErrorCode();
-                    if(errorCode_del == 0){
-                        baseDao.execute("update product set pr_sendstatus='待上传' 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("update productInfoSync set pis_updatestatus='已更新',pis_updatedate=sysdate where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                    }else{
-                        baseDao.execute("update product set pr_sendstatus='未报废成功' 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,'"+baseResult_del.getErrorMessage()+"','物料资料删除','"+rs.getString("pr_code")+"')");
-                        baseDao.execute("update productInfoSync set pis_error='"+baseResult_del.getErrorMessage()+"' where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                        logger.info("异常信息:"+baseResult_del.getErrorMessage());
-                    }
-                }else{
-                    baseDao.execute("update product set pr_sendstatus='未报废成功' 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,'"+baseResult.getErrorMessage()+"','物料资料作废','"+rs.getString("pr_code")+"')");
-                    baseDao.execute("update productInfoSync set pis_error='"+baseResult.getErrorMessage()+"' where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                    logger.info("异常信息:"+baseResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update product set pr_sendstatus='未报废成功' 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,'"+e.getMessage()+"','物料资料作废或删除','"+rs.getString("pr_code")+"')");
-                baseDao.execute("update productInfoSync set pis_error='"+e.getMessage()+"' where pis_prodcode='"+rs.getGeneralString("pis_prodcode")+"' and trunc(pis_date)=trunc(sysdate) and pis_updatedate is null");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    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_lasttaxpurcprice_user"));
-        product.setField_i0v47__c(rs.getGeneralString("pr_YPstock"));
-        product.setField_iW998__c(rs.getGeneralString("pr_PLstock"));
-        product.setField_dioys__c(rs.getGeneralString("pr_wlfl_user"));
-        product.setProduct_code(rs.getGeneralString("pr_code"));
-        product.setUDSText1__c(rs.getGeneralString("pr_brand"));
-        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");
-        product.setField_uwFmi__c(rs.getGeneralString("pr_aflypstock_user"));//艾富利样品仓库存
-        product.setField_ehcac__c(rs.getGeneralString("pr_aflplstock_user"));//艾富利批量仓库存
-        product.setField_f0qjS__c(rs.getGeneralDouble("pr_afllasttaxpurcprice_user"));//艾富利成本(含税)
-        product.setField_rY1jT__c(rs.getGeneralString("pr_yjhhkplstock_user"));//越加红(香港)仓批量库存
-        return product;
-    }
-}

+ 0 - 133
src/main/java/com/uas/eis/task/SaleMonthDataTask.java

@@ -1,133 +0,0 @@
-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.Product;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.utils.Configuration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class SaleMonthDataTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CommonManager commonManager;
-    @Resource(name = "configuration")
-    private Configuration configuration;
-
-    //每天0时每10分执行一次
-    @Scheduled(cron = "0 0/10 0 * * ?")
-    public void syncSaleMonthData() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select * from saleMonthData left join customer on SM_CUSTCODE=CU_CODE left join employee on em_code=cu_sellercode where nvl(cu_fxxkid,' ')<>' ' and nvl(SM_SENDSTATUS,' ')='待上传' order by sm_id) where rownum<=500");
-        String openUserId = configuration.getOpenUserId();
-        while (rs.next()){
-            if(!"".equals(rs.getGeneralString("em_fxxkid"))){
-                openUserId=rs.getGeneralString("em_fxxkid");
-            }
-            Map<String,Object> data = new HashMap<>();
-            Map<String,Object> map = new HashMap<>();
-            List<String> owner = new ArrayList<>();
-            owner.add(openUserId);
-            map.put("owner",owner);
-            map.put("field_6secE__c",rs.getGeneralDouble("sm_salesum"));//接单金额
-            map.put("field_Frnzy__c",rs.getGeneralString("cu_fxxkid"));//客户名称 关联ID
-            String sm_yearmonth = rs.getGeneralString("sm_yearmonth");
-            String year = sm_yearmonth.substring(0, 4);
-            String month = sm_yearmonth.substring(4);
-            String valueField_year = getValueField("销售月数据统计", "年份", year);
-            String valueField_month = getValueField("销售月数据统计", "月份", month);
-            map.put("field_22s1K__c",valueField_year);//年份
-
-            map.put("field_C71qd__c",rs.getGeneralDouble("sm_saleoutsum"));//出货金额
-            map.put("field_1s1t2__c",valueField_month);//月份
-            map.put("field_m2ypV__c",rs.getGeneralDouble("sm_paysum"));//应收货款
-            map.put("dataObjectApiName","object_8r53c__c");
-            map.put("created_by",openUserId);
-            map.put("life_status","normal");
-            map.put("record_type","default__c");
-            data.put("object_data",map);
-            try {
-                CrmAddResult crmAddResult = commonManager.createCommonOfCustom(data);
-                int errorCode = crmAddResult.getErrorCode();
-                String dataId = crmAddResult.getDataId();
-                if(errorCode == 0){
-                    baseDao.execute("update saleMonthData set SM_SENDSTATUS='已上传',SM_FXXKDATAID='"+dataId+"' where sm_id="+rs.getInt("sm_id"));
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'销售月数据统计上传成功','销售月数据统计上传','"+rs.getGeneralString("sm_yearmonth")+rs.getString("sm_custcode")+"')");
-                }else{
-                    baseDao.execute("update saleMonthData set SM_SENDSTATUS='未上传成功' where sm_id="+rs.getInt("sm_id"));
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmAddResult.getErrorMessage()+"','销售月数据统计上传','"+rs.getGeneralString("sm_yearmonth")+rs.getString("sm_custcode")+"')");
-                    logger.info("异常信息:"+crmAddResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update saleMonthData set SM_SENDSTATUS='未上传成功' where sm_id="+rs.getInt("sm_id"));
-                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+e.getMessage()+"','销售月数据统计上传','"+rs.getGeneralString("sm_yearmonth")+rs.getString("sm_custcode")+"')");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void syncUpdateSaleMonthData() {
-        SqlRowList rs = baseDao.queryForRowSet("select * from saleMonthData left join customer on SM_CUSTCODE=CU_CODE where nvl(cu_fxxkid,' ')<>' ' and nvl(SM_ISUPDATE,0)=-1 and (SM_YEARMONTH=case when to_char(sysdate,'dd')='01' then to_char(add_months(sysdate,-1),'yyyymm') else to_char(add_months(sysdate,0),'yyyymm') end) order by sm_id");
-        //SqlRowList rs = baseDao.queryForRowSet("select * from saleMonthData left join customer on SM_CUSTCODE=CU_CODE where nvl(cu_fxxkid,' ')<>' ' and nvl(SM_ISUPDATE,0)=-1 and (SM_YEARMONTH=case when to_char(to_date('20220501','yyyymmdd'),'dd')='01' then to_char(add_months(to_date('20220501','yyyymmdd'),-1),'yyyymm') else to_char(add_months(to_date('20220501','yyyymmdd'),0),'yyyymm') end) order by sm_id");
-        //SqlRowList rs = baseDao.queryForRowSet("select * from saleMonthData left join customer on SM_CUSTCODE=CU_CODE where nvl(cu_fxxkid,' ')<>' ' and sm_id=654 order by sm_id");
-        while (rs.next()) {
-            Map<String, Object> data = new HashMap<>();
-            Map<String, Object> map = new HashMap<>();
-            map.put("field_6secE__c", rs.getGeneralDouble("sm_salesum"));//接单金额
-            map.put("field_C71qd__c", rs.getGeneralDouble("sm_saleoutsum"));//出货金额
-            map.put("field_m2ypV__c", rs.getGeneralDouble("sm_paysum"));//应收货款
-            map.put("_id", rs.getGeneralString("sm_fxxkdataid"));//应收货款
-            map.put("dataObjectApiName", "object_8r53c__c");
-            data.put("object_data", map);
-            try {
-                BaseResult baseResult = commonManager.updateCommonOfCustom(data);
-                int errorCode = baseResult.getErrorCode();
-                if (errorCode == 0) {
-                    baseDao.execute("update saleMonthData set SM_UPDATESTATUS='已更新',SM_UPDATEDATE=sysdate where sm_id=" + rs.getInt("sm_id"));
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'销售月数据统计更新成功','销售月数据统计更新','" + rs.getGeneralString("sm_yearmonth") + rs.getString("sm_custcode") + "')");
-                } else {
-                    baseDao.execute("update saleMonthData set SM_UPDATESTATUS='更新失败' where sm_id=" + rs.getInt("sm_id"));
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'" + baseResult.getErrorMessage() + "','销售月数据统计更新','" + rs.getGeneralString("sm_yearmonth") + rs.getString("sm_custcode") + "')");
-                    logger.info("异常信息:" + baseResult.getErrorMessage());
-                }
-            } catch (Exception e) {
-                baseDao.execute("update saleMonthData set SM_SENDSTATUS='更新失败' where sm_id=" + rs.getInt("sm_id"));
-                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'" + e.getMessage() + "','销售月数据统计更新','" + rs.getGeneralString("sm_yearmonth") + rs.getString("sm_custcode") + "')");
-                logger.info("异常信息:" + e.getMessage());
-                e.printStackTrace();
-            }
-
-        }
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition("comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-}

+ 0 - 204
src/main/java/com/uas/eis/task/SampleApplyTask.java

@@ -1,204 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.utils.Configuration;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class SampleApplyTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CommonManager commonManager;
-    @Resource(name = "configuration")
-    private Configuration configuration;
-
-
-    @Scheduled(cron = "0 0/15 * * * ?")
-    public void syncSampleApply() {
-        try {
-            List<String> field_values = new ArrayList<>();
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from FXXKDockingErrorlog where nvl(ML_TYPE,' ')='样品申请主表下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-                //样品申请主表下载
-                CrmQueryResult crmQueryResult = commonManager.queryCommon("create_time", field_values, "GT", "create_time", true, 50, "object_83m40__c", 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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0;
-                    if(dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long create_time_Last = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("create_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            try {
-                                String MAUser="";
-                                String username = configuration.getUsername();
-                                //根据申请抬头取得对应的子账套 若没有值则取资料中心
-                                Object field_h73i7__c = dataList.get(i).get("field_h73i7__c");
-                                if(field_h73i7__c!=null && !"".equals(field_h73i7__c.toString())){
-                                    Object DISPLAYFIELD = baseDao.getFieldDataByCondition("comboData", "DISPLAYFIELD", "VALUEFIELD='" + field_h73i7__c + "' and APICODE='field_h73i7__c' and MODULEAPINAME='样品申请单'");
-                                    if(DISPLAYFIELD!=null && !"".equals(DISPLAYFIELD.toString())){
-                                        Object MA_USER = baseDao.getFieldDataByCondition("master", "MA_USER", "MA_FUNCTION='" + DISPLAYFIELD + "'");
-                                        MAUser = (MA_USER == null || "".equals(MA_USER.toString()))?username:MA_USER.toString();
-                                    }
-                                }
-                                if(baseDao.checkIf(MAUser+".ProdInOutApply", "pi_code='" + name + "'")){
-                                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'样品申请编号已存在','样品申请主表下载','"+name+"')");
-                                    logger.info("异常信息:样品申请编号已存在");
-                                    n++;
-                                    continue;
-                                }
-
-                                Object cu_code = baseDao.getFieldDataByCondition("customer", "max(cu_code) cu_code", "CU_FXXKID='" + dataList.get(i).get("field_l6W5b__c") + "' or cu_name='"+dataList.get(i).get("field_l6W5b__c__r")+"'");
-                                Object cu_code_pre = baseDao.getFieldDataByCondition("precustomer", "max(cu_code) cu_code", "CU_FXXKID='" + dataList.get(i).get("field_l6W5b__c") + "' or cu_name='"+dataList.get(i).get("field_l6W5b__c__r")+"'");
-                                if(cu_code == null || "".equals(cu_code.toString()) ){
-                                    cu_code=cu_code_pre;
-                                }
-                                String cuCode =cu_code == null ? "" : cu_code.toString();
-                                //默认样品仓
-                                Object wh_description = baseDao.getFieldDataByCondition("Warehouse", "max(wh_description) wh_description", "wh_code='W02'");
-                                String pi_whname =wh_description == null ? "" : wh_description.toString();
-
-                                Object life_status = dataList.get(i).get("life_status");
-                                Object record_type = dataList.get(i).get("record_type");
-
-                                String lifeStatus = "normal".equals(life_status) ? "正常": (life_status==null? "" : life_status.toString());
-                                String recordType = "default__c".equals(record_type) ? "预设业务类型": (record_type==null? "" : record_type.toString());
-                                //负责人编号、名称
-                                Map<String,Object> owner__r =(Map<String,Object>) dataList.get(i).get("owner__r");
-                                Object owner_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
-                                //创建人编号、名称
-                                Map<String,Object> created_by__r =(Map<String,Object>) dataList.get(i).get("created_by__r");
-                                Object created_by_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + created_by__r.get("name") + "'");
-                                //最后更新人编号、名称
-                                Map<String,Object> last_modified_by__r =(Map<String,Object>) dataList.get(i).get("last_modified_by__r");
-                                Object last_modified_by_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + last_modified_by__r.get("name") + "'");
-                                //申请日期
-                                Long field_lp4Q1__c = Long.parseLong(new BigDecimal(dataList.get(i).get("field_lp4Q1__c").toString()).toPlainString());
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                //客户联系人:pi_purposename 电话:pi_expresscode
-                                int pi_id = baseDao.getSeqId(MAUser+".PRODINOUTAPPLY_SEQ");
-                                String sql="insert into "+MAUser+".ProdInOutApply(pi_id,pi_code,pi_class,pi_date,pi_status,pi_statuscode,pi_whcode,pi_whname,pi_cardcode,pi_title,pi_emcode,pi_emname,pi_recordman,pi_recorddate," +
-                                        "pi_updateman,pi_updatedate,pi_purposename,pi_expresscode,pi_address,pi_email_user,pi_remark,pi_field_Il1e1,pi_record_type,pi_life_status,PI_FXXKID)" +
-                                        "values("+pi_id+",'"+name+"','其它出库申请单',"+DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(field_lp4Q1__c)))+"," +
-                                        "'已审核','AUDITED','W02','"+pi_whname+"','"+cuCode+"','"+dataList.get(i).get("field_l6W5b__c__r")+"','"+owner_code+"','"+owner__r.get("name")+"','"+ created_by__r.get("name")+"'," +
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+",'"+last_modified_by__r.get("name")+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+",'" +dataList.get(i).get("field_DzO73__c__r")+"',"+
-                                        "'"+dataList.get(i).get("field_57196__c")+"','"+(dataList.get(i).get("field_Z2afs__c")==null?"":dataList.get(i).get("field_Z2afs__c"))+"','"+(dataList.get(i).get("field_1NKlv__c")==null?"":dataList.get(i).get("field_1NKlv__c"))+"'," +
-                                        "'"+(dataList.get(i).get("field_lyGrw__c")==null?"":dataList.get(i).get("field_lyGrw__c"))+"','"+dataList.get(i).get("field_Il1e1__c")+"','"+recordType+"','"+lifeStatus+"','"+_id+"')";
-                                baseDao.execute(sql);
-                                //更新样品单中的核算部门
-                                baseDao.execute("update ProdInOutApply set (pi_departmentcode,pi_departmentname)=(select em_departmentcode,em_depart from employee where em_code=pi_emcode) where nvl(pi_emcode,' ')<>' ' and pi_id="+pi_id);
-                                //样品申请明细下载
-                                syncSampleApplyDetail(_id.toString(),pi_id,MAUser);
-                                m++;
-                            }catch (Exception e){
-                                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','样品申请主表下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条','样品申请主表下载','"+create_time_Last+"')");
-                    }
-                }else{
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','样品申请主表下载','')");
-                    logger.info("异常信息:"+crmQueryResult.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()+"','样品申请主表下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    private void syncSampleApplyDetail(String SampleApply_id,int pi_id,String MAUser){
-        List<String> field_values_Detail = new ArrayList<>();
-        field_values_Detail.add(SampleApply_id);
-        try {
-            CrmQueryResult crmQueryResult = commonManager.queryCommon("field_8019j__c", field_values_Detail, "EQ", "create_time", true, 100, "object_Q55Nj__c", 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");
-                //默认样品仓
-                Object wh_description = baseDao.getFieldDataByCondition("Warehouse", "max(wh_description) wh_description", "wh_code='W02'");
-                String pi_whname =wh_description == null ? "" : wh_description.toString();
-                //m:成功条数 n:失败条数
-                int m=0,n=0;
-                if(dataList.size()>0){
-                    //最后(即最近)一次同步时间
-                    Long create_time_Last = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("create_time").toString()).toPlainString());
-                    for (int i = 0; i < dataList.size(); i++) {
-                        Object _id = dataList.get(i).get("_id");
-                        Object name = dataList.get(i).get("name");
-                        SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                        if(baseDao.checkIf(MAUser+".ProdIOApplyDetail", "pd_code='" + name + "' and pd_piid="+pi_id)){
-                            baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'样品申请明细编号已存在','样品申请明细表下载','"+name+"')");
-                            logger.info("异常信息:样品申请明细编号已存在");
-                            n++;
-                            continue;
-                        }
-                        try {
-                            //负责人编号、名称
-                            Map<String,Object> owner__r =(Map<String,Object>) dataList.get(i).get("owner__r");
-                            Object owner_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
-
-                            String sql="insert into "+MAUser+".ProdIOApplyDetail(pd_id,pd_piid,pd_pdno,pd_code,pd_piclass,pd_whcode,pd_whname,pd_picode,pd_ownercode,pd_owner,pd_prodcode,pd_detail,pd_sepc,pd_brand,pd_outqty,YPonhand,PD_FXXKID)" +
-                                    "values("+MAUser+".PRODIOAPPLYDETAIL_SEQ.nextval,"+pi_id+","+(i+1)+",'"+name+"','其它出库申请单','W02','"+pi_whname+"','"+dataList.get(i).get("field_8019j__c__r")+"'," +
-                                    "'"+owner_code+"','"+owner__r.get("name")+"','"+ (dataList.get(i).get("field_2Lq6Y__c")==null?"":dataList.get(i).get("field_2Lq6Y__c")) +"','"+(dataList.get(i).get(" field_utezf__c__r")==null?"":dataList.get(i).get(" field_utezf__c__r"))+"'," +
-                                    "'"+(dataList.get(i).get("field_21Suz__c")==null?"":dataList.get(i).get("field_21Suz__c"))+"','"+(dataList.get(i).get("field_y5dz2__c")==null?"":dataList.get(i).get("field_y5dz2__c"))+"','" +dataList.get(i).get("field_7uspZ__c")+"',"+
-                                    "'"+dataList.get(i).get("field_lzxe2__c")+"','"+_id+"')";
-                            baseDao.execute(sql);
-                            m++;
-                        }catch (Exception e){
-                            baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','样品申请明细表下载','"+name+"')");
-                            logger.info("异常信息:"+e);
-                            n++;
-                        }
-                    }
-                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条','样品申请明细表下载','"+create_time_Last+"')");
-                }
-            }else{
-                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','样品申请明细表下载','')");
-                logger.info("异常信息:"+crmQueryResult.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()+"','样品申请明细表下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-
-    }
-}

+ 68 - 0
src/main/java/com/uas/eis/task/SyncProductStockTask.java

@@ -0,0 +1,68 @@
+package com.uas.eis.task;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.dao.SqlRowList;
+import com.uas.eis.httpclient.X5JsonHttpClient;
+import com.uas.eis.utils.Configuration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Author chenwei
+ * @Date 2022-06-14
+ */
+@Component
+@EnableAsync
+@EnableScheduling
+public class SyncProductStockTask {
+
+    @Autowired
+    private BaseDao baseDao;
+    @Resource(name = "configuration")
+    private Configuration configuration;
+
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    @Scheduled(cron = "0 0/2 * * * ?")
+    public void SyncProductStock() {
+        System.out.println("13434");
+        X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),"https://mipoq.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/oem/dummy&interface=SI_MI_OEM_IF123_VENDOR_STOCK_S_OUT&senderService=UPSTAR_TECH_QAS&qos=BE");
+        Map<String,Object> data = new HashMap<>();
+        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format = sf.format(new Date());
+        System.out.println("format:"+format);
+        data.put("request_time",format);
+        List<Map<String,Object>> list = new ArrayList<>();
+        String Sql="select * from (select ct_code,CUSTOMTABLEDETAIL.*,nvl(remain_sum,0) remain_sum,nvl(pr_unit,'PCS') pr_unit from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
+                " left join (select ba_prodcode,sum(ba_remain) remain_sum from batch where nvl(ba_remain,0)>0 group by ba_prodcode) A on ba_prodcode=cd_varchar50_1 " +
+                " left join product on cd_varchar50_1=pr_code" +
+                " where ct_caller='XiaoMiProduct' order by cd_detno) where rownum<=1";
+        SqlRowList rs = baseDao.queryForRowSet(Sql);
+        while (rs.next()){
+            Map<String,Object> map = new HashMap<>();
+            map.put("factory_code",configuration.getX5vendercode());
+            map.put("product_code",rs.getGeneralString("cd_varchar50_2"));
+            map.put("product_desc",rs.getGeneralString("cd_varchar200_1"));
+            map.put("product_class",rs.getGeneralString("cd_varchar50_4"));
+            map.put("product_level",rs.getInt("cd_number_1"));
+            map.put("common_status",rs.getGeneralString("cd_varchar50_6"));
+            map.put("stock_num",rs.getGeneralDouble("remain_sum"));
+            map.put("stock_unit",rs.getGeneralString("pr_unit"));
+            list.add(map);
+        }
+        data.put("data",list);
+        System.out.println("1啊"+data);
+        System.out.println("2啊"+ JSON.toJSONString(data));
+        x5JsonHttpClient.post(data);
+    }
+}

+ 0 - 217
src/main/java/com/uas/eis/task/YITCustomNeedProjectTask.java

@@ -1,217 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.req.CrmQueryReq;
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class YITCustomNeedProjectTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CommonManager commonManager;
-
-    @Scheduled(cron = "0 0/2 * * * ?")
-    public void syncCustomNeedProject() {
-        String Master ="YIT.";
-        try {
-
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from "+Master+"FXXKDockingErrorlog where nvl(ML_TYPE,' ')='定制需求立项下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                List<CrmQueryReq.Filters> filtersList = new ArrayList<>();
-
-                List<String> field_values = new ArrayList<>();
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-
-                CrmQueryReq.Filters filters = new CrmQueryReq.Filters();
-                filters.setField_name("last_modified_time");
-                filters.setField_values(field_values);
-                filters.setOperator("GT");
-                filtersList.add(filters);
-
-                List<String> field_values2 = new ArrayList<>();
-                field_values2.add("option1");
-
-                CrmQueryReq.Filters filters2 = new CrmQueryReq.Filters();
-                filters2.setField_name("field_6F2bW__c");
-                filters2.setField_values(field_values2);
-                filters2.setOperator("EQ");
-                filtersList.add(filters2);
-
-                List<String> field_values3 = new ArrayList<>();
-                field_values3.add("option1");
-
-                CrmQueryReq.Filters filters3 = new CrmQueryReq.Filters();
-                filters3.setField_name("field_a22Ex__c");
-                filters3.setField_values(field_values3);
-                filters3.setOperator("EQ");
-                filtersList.add(filters3);
-                CrmQueryResult crmQueryResult = commonManager.multiQueryCommon(filtersList, "last_modified_time", true, 100, "object_eg97x__c", 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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0,k=0;
-                    if(dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long last_modified_time_sync = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("last_modified_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            //判断是否为易探客户 根据负责人是否存在于易探人员资料名称中 CRM负责人名称字段:owner__r
-                            Map<String,Object> owner__r = (Map<String,Object>) dataList.get(i).get("owner__r");
-                            //负责人姓名
-                            String owner = owner__r==null ? "" : owner__r.get("name").toString();
-                            //不按照负责人条件对接
-                            /*if(!baseDao.checkIf(Master+"employee","nvl(em_statuscode,' ')='AUDITED' and nvl(em_name,' ')= '"+owner+"'")){
-                                k++;
-                                continue;
-                            }*/
-
-                            if(baseDao.checkIf(Master+"CustomNeedProject", "cnp_fxxkId='" + _id + "'")){
-                                baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'定制需求立项已存在','定制需求立项下载','"+name+"')");
-                                logger.info("异常信息:定制需求立项已存在");
-                                n++;
-                                continue;
-                            }
-                            try {
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                Long field_qm17T__c = Long.parseLong(new BigDecimal(dataList.get(i).get("field_qm17T__c").toString()).toPlainString());
-                                Long field_0xmp6__c = Long.parseLong(new BigDecimal(dataList.get(i).get("field_0xmp6__c").toString()).toPlainString());
-
-                                Map<String,Object> data_own_department__r = (Map<String,Object>) dataList.get(i).get("data_own_department__r");
-                                String deptName = data_own_department__r==null ? "" : data_own_department__r.get("deptName").toString();
-                                Map<String,Object> created_by__r  = (Map<String,Object>) dataList.get(i).get("created_by__r");
-                                String created_by_name = created_by__r ==null ? "" : created_by__r .get("name").toString();
-                                Map<String,Object> last_modified_by__r   = (Map<String,Object>) dataList.get(i).get("last_modified_by__r");
-                                String last_modified_by_name = last_modified_by__r  ==null ? "" : last_modified_by__r  .get("name").toString();
-                                String field_2qjuD__c = getDisplayField(dataList, i, "field_2qjuD__c", "项目是否完成");
-                                String field_8UQXf__c = getDisplayField(dataList, i, "field_8UQXf__c", "立项阶段");
-                                String field_X9lKd__c = getDisplayField(dataList, i, "field_X9lKd__c", "需求是否确定OK");
-                                String field_a22Ex__c = getDisplayField(dataList, i, "field_a22Ex__c", "立项类型");
-                                String field_Ldpn5__c = getDisplayField(dataList, i, "field_Ldpn5__c", "派生类型");
-                                String field_6F2bW__c = getDisplayField(dataList, i, "field_6F2bW__c", "宋总审批结果");
-                                String lock_status = getDisplayField(dataList, i, "lock_status", "锁定状态");
-
-                                Object life_status = dataList.get(i).get("life_status");
-                                Object record_type = dataList.get(i).get("record_type");
-
-                                String lifeStatus = "normal".equals(life_status) ? "正常": (life_status==null? "" : life_status.toString());
-                                String recordType = "default__c".equals(record_type) ? "预设业务类型": (record_type==null? "" : record_type.toString());
-                                String cnp_code = baseDao.sGetMaxNumber(Master+"CustomNeedProject", 2);
-                                String sql="insert into "+Master+"CUSTOMNEEDPROJECT(cnp_id,cnp_code,cnp_name,cnp_data_own_department," +
-                                        "cnp_owner,cnp_field_93dgz__c,cnp_field_bgqvr__c,cnp_field_r536s__c,cnp_field_m0zh9__c," +
-                                        "cnp_field_qm17t__c,cnp_field_5a6kq__c,cnp_field_2qjud__c,cnp_field_8uqxf__c,cnp_field_b5h7q__c," +
-                                        "cnp_field_x9lkd__c,cnp_field_a22ex__c,cnp_field_0xmp6__c,cnp_field_fzwum__c,cnp_field_gklns__c," +
-                                        "cnp_field_ygmzp__c,cnp_field_idex2__c,cnp_field_ldpn5__c,cnp_field_6f2bw__c,cnp_field_5u98i__c," +
-                                        "cnp_field_uc00s__c," +
-                                        //"cnp_field_24i7h__c," +
-                                        "cnp_field_yv45c__c,cnp_field_3jz8x__c,cnp_field_3pax5__c," +
-                                        "cnp_field_moj3x__c,cnp_field_hits1__c,cnp_field_m91q7__c,cnp_field_he2m9__c,cnp_field_sms1k__c," +
-                                        "cnp_field_572z4__c,cnp_field_pb9o1__c,cnp_field_52crp__c,cnp_field_37266__c,cnp_field_ka7uc__c," +
-                                        "cnp_field_en5i9__c,cnp_field_59421__c,cnp_field_qxtz3__c,cnp_field_hg0uo__c,cnp_field_ztwbo__c," +
-                                        //"cnp_field_jlk0n__c," +
-                                        "cnp_field_c4tpb__c,cnp_field_ihd5a__c,cnp_lock_status,cnp_owner_department," +
-                                        "cnp_record_type,cnp_life_status,cnp_create_time,cnp_created_by," +
-                                        "cnp_last_modified_time,cnp_last_modified_by,cnp_fxxkid)" +
-                                        "values("+Master+"CUSTOMNEEDPROJECT_SEQ.nextval,'"+cnp_code+"','"+name+"','"+deptName+"','"+
-                                        owner+"','"+getNotNull(dataList,i,"field_93dGz__c__r")+"','"
-                                        +getNotNull(dataList,i,"field_BgqvR__c")+"','"+dataList.get(i).get("field_r536s__c")+
-                                        "','"+dataList.get(i).get("field_m0zh9__c")+
-                                        "',"+DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(field_qm17T__c)))+
-                                        ",'"+getNotNull(dataList,i,"field_5a6kq__c")+"','"+field_2qjuD__c+"'," +
-                                        "'"+field_8UQXf__c+"','"+getNotNull(dataList,i,"field_B5h7Q__c__r")+"','" +
-                                        field_X9lKd__c+"','"+field_a22Ex__c+"',"
-                                        +DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(field_0xmp6__c)))+
-                                        ",'"+getNotNull(dataList,i,"field_fzWum__c")+"','"+getNotNull(dataList,i,"field_GKlns__c")+
-                                        "','"+getNotNull(dataList,i,"field_yGmZP__c__r")+"','"+getNotNull(dataList,i,"field_IDeX2__c")+
-                                        "','"+field_Ldpn5__c+"','"+field_6F2bW__c+"','"+getNotNull(dataList,i,"field_5U98i__c")+"','"+
-                                        getNotNull(dataList,i,"field_uC00s__c")+"','"+getNotNull(dataList,i,"field_yv45c__c")+"','" +
-                                        getNotNull(dataList,i,"field_3Jz8x__c")+"','"+getNotNull(dataList,i,"field_3pax5__c")+"','" +
-                                        getNotNull(dataList,i,"field_mOJ3X__c")+"','"+getNotNull(dataList,i,"field_hiTs1__c")+"','" +
-                                        getNotNull(dataList,i,"field_M91q7__c")+"','"+getNotNull(dataList,i,"field_he2m9__c")+"','" +
-                                        getNotNull(dataList,i,"field_sMS1k__c")+"','"+getNotNull(dataList,i,"field_572z4__c")+"','" +
-                                        getNotNull(dataList,i,"field_Pb9o1__c")+"','"+getNotNull(dataList,i,"field_52cRp__c")+"','" +
-                                        getNotNull(dataList,i,"field_37266__c")+"','"+getNotNull(dataList,i,"field_kA7uC__c")+"','" +
-                                        getNotNull(dataList,i,"field_En5i9__c")+"','"+getNotNull(dataList,i,"field_59421__c")+"','" +
-                                        getNotNull(dataList,i,"field_QXtz3__c")+"','"+getNotNull(dataList,i,"field_hg0Uo__c")+"','" +
-                                        getNotNull(dataList,i,"field_ZtwbO__c")+"','"+getNotNull(dataList,i,"field_c4tpb__c__r")+"','" +
-                                        getNotNull(dataList,i,"field_IHd5a__c")+"','"+lock_status+"','" +
-                                        getNotNull(dataList,i,"owner_department")+"','"+recordType+"','"+lifeStatus+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+",'" +
-                                        created_by_name+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+
-                                        ",'"+last_modified_by_name+"','"+_id+"')";
-                                baseDao.execute(sql);
-                                m++;
-                            }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,'"+crmQueryResult.getErrorMessage()+"','定制需求立项下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条,非易探负责人"+k+"条','定制需求立项下载','"+last_modified_time_sync+"')");
-                    }
-                }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()+"','定制需求立项下载','')");
-                    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()+"','定制需求立项下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
-        String Master ="YIT.";
-        String ValueField ="";
-        Object account_type = dataList.get(i).get(Field);
-        if(account_type !=null && !"".equals(account_type.toString())){
-            Object DISPLAYFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "DISPLAYFIELD", "VALUEFIELD='" + account_type + "' and APINAME='"+APINAME+"' and MODULEAPINAME='定制需求立项'");
-            ValueField= DISPLAYFIELD==null? "" :DISPLAYFIELD.toString();
-        }
-        return ValueField;
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String Master ="YIT.";
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-
-    private String getNotNull(List<Map<String, Object>> dataList, int i, String Field){
-        return (dataList.get(i).get(Field)==null?"":dataList.get(i).get(Field)).toString();
-    }
-}

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

@@ -1,223 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.result.BaseResult;
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.beans.result.Customer;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.manager.CustomerManager;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class YITCustomerTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CustomerManager customerManager;
-    @Autowired
-    private CommonManager commonManager;
-
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncCustomers() {
-        String Master ="YIT.";
-        try {
-            List<String> field_values = new ArrayList<>();
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from "+Master+"FXXKDockingErrorlog where nvl(ML_TYPE,' ')='客户资料下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-                CrmQueryResult crmQueryResult = customerManager.queryCustomer(field_values);
-                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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0,k=0;
-                    if(dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long create_time_Last = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("create_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            //判断是否为易探客户 根据负责人是否存在于易探人员资料名称中 CRM负责人名称字段:owner__r
-                            Map<String,Object> owner__r = (Map<String,Object>) dataList.get(i).get("owner__r");
-                            //负责人姓名
-                            String owner = owner__r==null ? "" : owner__r.get("name").toString();
-                            if(!baseDao.checkIf(Master+"employee","nvl(em_statuscode,' ')='AUDITED' and nvl(em_name,' ')= '"+owner+"'")){
-                                k++;
-                                continue;
-                            }
-
-                            if(baseDao.checkIf(Master+"PreCustomer", "cu_name='" + name + "'")){
-                                baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'客户名称已存在','客户资料下载','"+name+"')");
-                                logger.info("异常信息:客户名称已存在");
-                                n++;
-                                continue;
-                            }
-                            try {
-                                Object em_code = baseDao.getFieldDataByCondition(Master+"employee", "max(em_code) em_code", "em_name='" + dataList.get(i).get("field_w9e4q__c") + "'");
-                                Object cu_sellercode = baseDao.getFieldDataByCondition(Master+"employee", "max(em_code) em_code", "em_name='" + owner + "'");
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                String cuKind = getDisplayField(dataList, i, "account_type", "客户类型");
-                                String wbsk_user = getDisplayField(dataList, i, "UDSSel1__c", "收款方式");//外部收款方式
-                                Object[] pa_data = baseDao.getFieldsDataByCondition(Master+"Payments", new String[]{"pa_id","pa_code"}, "nvl(pa_class,' ')='收款方式' and pa_name='" + wbsk_user + "'");//获取收款方式编号
-                                String paID = (pa_data == null || pa_data[0] == null) ? "" : pa_data[0].toString();
-                                String paCode = (pa_data == null || pa_data[1] == null) ? "" : pa_data[1].toString();
-                                String cu_level = getDisplayField(dataList, i, "account_level", "客户级别");
-                                String cu_turnSAP = getDisplayField(dataList, i, "field_RYzRf__c", "是否转正式客户在SAP内建档");
-                                String cu_currency = getDisplayField(dataList, i, "field_e2HeP__c", "货币");
-                                String cu_recordType = getDisplayField(dataList, i, "record_type", "业务类型");
-                                String cu_industry = getDisplayField(dataList, i, "field_00Ijp__c", "所属行业");
-                                String cu_taxrate = getDisplayField(dataList, i, "field_nhi2w__c", "税率");
-                                String cu_code = baseDao.sGetMaxNumber(Master+"PreCustomer", 2);
-                                //field_giBJk__c:收货人 UDSText5__c:送货地址 UDSText1__c:法定代表人 UDSText2__c:注册资金
-                                String sql="insert into "+Master+"PreCustomer(cu_id,cu_code,cu_name,cu_shortname,cu_add2,cu_sellercode,cu_sellername,cu_servicecode,cu_servicename,cu_kind," +
-                                        "cu_contact,cu_add1,cu_lawman,cu_regamount,cu_rate,cu_wbsk_user,cu_paymentid,cu_paymentscode,cu_payments,cu_level,cu_industry,cu_mainbusiness,cu_turnSAP,cu_currency,cu_taxrate," +
-                                        "cu_dealstatus,cu_Shipmentamount,cu_receivable,cu_businessRegister,cu_recordType," +
-                                        "cu_mobile,cu_email,cu_recordman,cu_recorddate,cu_lastdate,cu_auditstatus,cu_auditstatuscode,cu_remark,CU_FXXKID)" +
-                                        "values("+Master+"PRECUSTOMER_SEQ.nextval,'"+cu_code+"','"+name+"','"+dataList.get(i).get("UDSText3__c")+"','"+ dataList.get(i).get("address")+"'," +
-                                        "'"+(cu_sellercode==null?"":cu_sellercode)+"','"+owner+"','"+em_code+"','"+dataList.get(i).get("field_w9e4q__c")+"','"+cuKind+"'," +
-                                        "'"+getNotNull(dataList,i,"field_giBJk__c")+"','"+getNotNull(dataList,i,"UDSText5__c")+"'," +
-                                        "'"+getNotNull(dataList,i,"UDSText1__c")+"','"+getNotNull(dataList,i,"UDSText2__c")+"','" +
-                                        getNotNull(dataList,i,"field_1l3xo__c")+"','"+wbsk_user+"','"+paID+"','"+paCode+"','"+wbsk_user+"','"+cu_level+"','"+cu_industry+"'," +
-                                        "'"+getNotNull(dataList,i,"UDSText4__c")+"','"+cu_turnSAP+"','"+cu_currency+"',"+cu_taxrate+",'"+getNotNull(dataList,i,"deal_status")+"'," +
-                                        "'"+getNotNull(dataList,i,"field_Ezg0w__c")+"','"+getNotNull(dataList,i,"field_59oLF__c")+"','"+getNotNull(dataList,i,"biz_reg_name")+"','"+cu_recordType+"',"+
-                                        "'"+dataList.get(i).get("tel")+"','"+dataList.get(i).get("email")+"'," +
-                                        "'CRM',"+DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+"," +
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+",'已审核','AUDITED','"+getNotNull(dataList,i,"remark")+"','"+_id+"')";
-                                baseDao.execute(sql);
-                                m++;
-                            }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,'"+crmQueryResult.getErrorMessage()+"','客户资料下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条,非易探客户"+k+"条','客户资料下载','"+create_time_Last+"')");
-                    }
-                }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()+"','客户资料下载','')");
-                    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()+"','客户资料下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    @Scheduled(cron = "0 0 23 * * ?")
-    public void syncUpdateCustomers() {
-        String Master ="YIT.";
-        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct cui_code from "+Master+"customerUpdInfo where CUI_UPDATEDATE is null and nvl(cui_type,' ')='普通变更' and trunc(cui_date)=trunc(sysdate)) left join "+Master+"customer on cui_code=cu_code where nvl(cu_name,' ')<>' ' order by cu_id");
-        while (rs.next()){
-            try {
-                Customer customer = new Customer();
-                String valueField = getValueField("客户资料", "客户级别", rs.getGeneralString("cu_level"));
-                customer.setDataObjectApiName("AccountObj");
-                customer.set_id(rs.getGeneralString("cu_fxxkid"));
-                customer.setName(rs.getGeneralString("cu_name"));
-                customer.setAccount_level(valueField);
-                customer.setField_w9e4q__c(rs.getGeneralString("cu_servicename"));
-                BaseResult baseResult = customerManager.updateCustomer(customer);
-                int errorCode = baseResult.getErrorCode();
-                if(errorCode == 0){
-                    baseDao.execute("update "+Master+"customerUpdInfo set cui_updatestatus='已更新',cui_updatedate=sysdate where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                }else{
-                    baseDao.execute("update "+Master+"customerUpdInfo set cui_error='"+baseResult.getErrorMessage()+"' where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                    logger.info("异常信息:"+baseResult.getErrorMessage());
-                }
-            }catch (Exception e){
-                baseDao.execute("update "+Master+"customerUpdInfo set cui_error='"+e.getMessage()+"' where nvl(cui_type,' ')='普通变更' and cui_code='"+rs.getGeneralString("cui_code")+"' and trunc(cui_date)=trunc(sysdate)");
-                logger.info("异常信息:"+e.getMessage());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * 同步人员资料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){
-        String Master ="YIT.";
-        String ValueField ="";
-        Object account_type = dataList.get(i).get(Field);
-        if(account_type !=null && !"".equals(account_type.toString())){
-            Object DISPLAYFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "DISPLAYFIELD", "VALUEFIELD='" + account_type + "' and APINAME='"+APINAME+"' and MODULEAPINAME='客户资料'");
-            ValueField= DISPLAYFIELD==null? "" :DISPLAYFIELD.toString();
-        }
-        return ValueField;
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String Master ="YIT.";
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-
-    private String getNotNull(List<Map<String, Object>> dataList, int i, String Field){
-        return (dataList.get(i).get(Field)==null?"":dataList.get(i).get(Field)).toString();
-    }
-}

+ 0 - 144
src/main/java/com/uas/eis/task/YITRadarApplyTask.java

@@ -1,144 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class YITRadarApplyTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CommonManager commonManager;
-
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncRadarSpecialofferApply() {
-        String Master ="YIT.";
-        try {
-            List<String> field_values = new ArrayList<>();
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from "+Master+"FXXKDockingErrorlog where nvl(ML_TYPE,' ')='雷达申请下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-                CrmQueryResult crmQueryResult = commonManager.queryCommon("create_time", field_values, "GT", "create_time", true, 100, "object_XC82g__c", 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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0;
-                    if(dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long create_time_Last = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("create_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            //CRM负责人名称字段:owner__r
-                            Map<String,Object> owner__r = (Map<String,Object>) dataList.get(i).get("owner__r");
-                            //负责人姓名
-                            String owner = owner__r==null ? "" : owner__r.get("name").toString();
-
-                            if(baseDao.checkIf(Master+"RadarSpecialofferApply", "rsa_code='" + name + "'")){
-                                baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'雷达申请编号已存在','雷达申请下载','"+name+"')");
-                                logger.info("异常信息:雷达申请编号已存在");
-                                n++;
-                                continue;
-                            }
-                            try {
-                                Object cu_code = baseDao.getFieldDataByCondition(Master+"customer", "max(cu_code) cu_code", "cu_name='" + dataList.get(i).get("field_WycdH__c__r") + "'");
-                                String cuCode = cu_code == null ? "" : cu_code.toString();
-                                Object owner_code = baseDao.getFieldDataByCondition(Master+"employee", "max(em_code) em_code", "em_name='" + owner + "'");
-                                String ownerCode = owner_code == null ? "" : owner_code.toString();
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                String record_type = getDisplayField(dataList, i, "record_type", "业务类型");
-                                String life_status = getDisplayField(dataList, i, "life_status", "生命状态");
-                                String field_aaPUk__c = getDisplayField(dataList, i, "field_aaPUk__c", "宋总审批结果");
-                                //创建人编号、名称
-                                Map<String,Object> created_by__r =(Map<String,Object>) dataList.get(i).get("created_by__r");
-                                //最后更新人编号、名称
-                                Map<String,Object> last_modified_by__r =(Map<String,Object>) dataList.get(i).get("last_modified_by__r");
-                                //data_own_department__r deptName
-                                Map<String,Object> data_own_department__r =(Map<String,Object>) dataList.get(i).get("data_own_department__r");
-                                String data_own_department = data_own_department__r==null ? "" : data_own_department__r.get("deptName").toString();
-
-                                String sql="insert into "+Master+"RadarSpecialofferApply(RSA_ID,RSA_CODE,RSA_OWNERCODE,RSA_OWNER,RSA_CUSTCODE,RSA_CUSTNAME,RSA_APPLYDESCRIBE," +
-                                        "RSA_CUSTMONTHUSAGE,RSA_RADARTYPE,RSA_ENDINGPRICE,RSA_EXPECTPRICE,RSA_SZAPPROVALRESULT,RSA_LOCKSTATUS,RSA_OWNERDEPARTMENT," +
-                                        "RSA_RECORDTYPE,RSA_LIFESTATUS,RSA_OUTOWNER,RSA_DATAOWNDEPARTMENT,RSA_RECORDMAN,RSA_RECORDDATE,RSA_LASTUPDATEMAN,RSA_LASTUPDATEDATE," +
-                                        "RSA_FXXKID)" +
-                                        "values("+Master+"RADARSPECIALOFFERAPPLY_seq.nextval,'"+name+"','"+ownerCode+"','"+owner+"','"+cuCode+"','"+getNotNull(dataList,i,"field_WycdH__c__r")+
-                                        "','"+getNotNull(dataList,i,"field_saYFn__c")+"','"+getNotNull(dataList,i,"field_8yKdc__c")+"','"+getNotNull(dataList,i,"field_372mv__c")+
-                                        "','"+getNotNull(dataList,i,"field_4t01W__c")+"','"+getNotNull(dataList,i,"field_BlP8a__c")+"','"+field_aaPUk__c+
-                                        "','"+getNotNull(dataList,i,"lock_status")+"','" +getNotNull(dataList,i,"owner_department")+"','"+record_type+"','"+life_status+"'," +
-                                        "'"+getNotNull(dataList,i,"out_owner")+"','"+data_own_department+"','"+created_by__r.get("name")+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+",'"+last_modified_by__r.get("name")+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+",'"+_id+"')";
-                                baseDao.execute(sql);
-                                m++;
-                            }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,'"+crmQueryResult.getErrorMessage()+"','雷达申请下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条','雷达申请下载','"+create_time_Last+"')");
-                    }
-                }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()+"','雷达申请下载','')");
-                    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()+"','雷达申请下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
-        String Master ="YIT.";
-        String ValueField ="";
-        Object account_type = dataList.get(i).get(Field);
-        if(account_type !=null && !"".equals(account_type.toString())){
-            Object DISPLAYFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "DISPLAYFIELD", "VALUEFIELD='" + account_type + "' and APINAME='"+APINAME+"' and MODULEAPINAME='客户资料'");
-            ValueField= DISPLAYFIELD==null? "" :DISPLAYFIELD.toString();
-        }
-        return ValueField;
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String Master ="YIT.";
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-
-    private String getNotNull(List<Map<String, Object>> dataList, int i, String Field){
-        return (dataList.get(i).get(Field)==null?"":dataList.get(i).get(Field)).toString();
-    }
-}

+ 0 - 186
src/main/java/com/uas/eis/task/YITRadarBasicProjectTask.java

@@ -1,186 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.beans.req.CrmQueryReq;
-import com.uas.eis.beans.result.CrmQueryResult;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.manager.CommonManager;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@EnableAsync
-@EnableScheduling
-public class YITRadarBasicProjectTask {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-    @Autowired
-    private CommonManager commonManager;
-
-    @Scheduled(cron = "0 0/2 * * * ?")
-    public void syncRadarBasicProject() {
-        String Master ="YIT.";
-        try {
-            SqlRowList rs = baseDao.queryForRowSet("select ml_syncTime from (select * from "+Master+"FXXKDockingErrorlog where nvl(ML_TYPE,' ')='雷达基础类立项下载' and ML_SYNCTIME is not null order by ml_date desc) where rownum=1");
-            if(rs.next()){
-                List<CrmQueryReq.Filters> filtersList = new ArrayList<>();
-
-                List<String> field_values = new ArrayList<>();
-                String ml_syncTime = rs.getGeneralString("ml_syncTime");
-                field_values.add(ml_syncTime);
-
-                CrmQueryReq.Filters filters = new CrmQueryReq.Filters();
-                filters.setField_name("last_modified_time");
-                filters.setField_values(field_values);
-                filters.setOperator("GT");
-                filtersList.add(filters);
-
-                List<String> field_values2 = new ArrayList<>();
-                field_values2.add("option1");
-
-                CrmQueryReq.Filters filters2 = new CrmQueryReq.Filters();
-                filters2.setField_name("field_jO31l__c");
-                filters2.setField_values(field_values2);
-                filters2.setOperator("EQ");
-                filtersList.add(filters2);
-                CrmQueryResult crmQueryResult = commonManager.multiQueryCommon(filtersList, "last_modified_time", true, 100, "object_xo712__c", 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");
-                    //m:成功条数 n:失败条数
-                    int m=0,n=0,k=0;
-                    if(dataList!=null && dataList.size()>0){
-                        //最后(即最近)一次同步时间
-                        Long last_modified_time_sync = Long.parseLong(new BigDecimal(dataList.get(dataList.size()-1).get("last_modified_time").toString()).toPlainString());
-                        for (int i = 0; i < dataList.size(); i++) {
-                            Object _id = dataList.get(i).get("_id");
-                            Object name = dataList.get(i).get("name");
-                            SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            //判断是否为易探客户 根据负责人是否存在于易探人员资料名称中 CRM负责人名称字段:owner__r
-                            Map<String,Object> owner__r = (Map<String,Object>) dataList.get(i).get("owner__r");
-                            //负责人姓名
-                            String owner = owner__r==null ? "" : owner__r.get("name").toString();
-                            if(baseDao.checkIf(Master+"RadarBasicProject", "rbp_fxxkId='" + _id + "'")){
-                                baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'雷达基础类立项已存在','雷达基础类立项下载','"+name+"')");
-                                logger.info("异常信息:雷达基础类立项已存在");
-                                n++;
-                                continue;
-                            }
-
-                            try {
-                                Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
-                                Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
-                                Long field_2htkK__c = Long.parseLong(new BigDecimal(dataList.get(i).get("field_2htkK__c").toString()).toPlainString());
-
-                                Map<String,Object> data_own_department__r = (Map<String,Object>) dataList.get(i).get("data_own_department__r");
-                                String deptName = data_own_department__r==null ? "" : data_own_department__r.get("deptName").toString();
-                                Map<String,Object> out_owner__r = (Map<String,Object>) dataList.get(i).get("out_owner__r");
-                                String out_owner = out_owner__r==null ? "" : out_owner__r.get("name").toString();
-                                Map<String,Object> created_by__r  = (Map<String,Object>) dataList.get(i).get("created_by__r");
-                                String created_by_name = created_by__r ==null ? "" : created_by__r .get("name").toString();
-                                Map<String,Object> last_modified_by__r   = (Map<String,Object>) dataList.get(i).get("last_modified_by__r");
-                                String last_modified_by_name = last_modified_by__r  ==null ? "" : last_modified_by__r  .get("name").toString();
-
-                                String field_y60xA__c = getDisplayField(dataList, i, "field_y60xA__c", "产品定位");
-                                String field_jO31l__c = getDisplayField(dataList, i, "field_jO31l__c", "宋总审批结果");
-                                String lock_status = getDisplayField(dataList, i, "lock_status", "锁定状态");
-
-                                Object life_status = dataList.get(i).get("life_status");
-                                Object record_type = dataList.get(i).get("record_type");
-
-                                String lifeStatus = "normal".equals(life_status) ? "正常": (life_status==null? "" : life_status.toString());
-                                String recordType = "default__c".equals(record_type) ? "预设业务类型": (record_type==null? "" : record_type.toString());
-                                String rbp_code = baseDao.sGetMaxNumber(Master+"RadarBasicProject", 2);
-                                String sql="insert into "+Master+"RadarBasicProject(rbp_id,rbp_code,rbp_fxxkid,name,data_own_department," +
-                                        "owner,field_y60xa__c,field_8htac__c," +
-                                        "field_1vlo1__c,field_rn30q__c,field_290w9__c,field_2htkk__c,field_7rst2__c,field_ul166__c," +
-                                        "field_4czln__c,field_zb17n__c,field_nex7a__c,field_96jf3__c,field_cgjd4__c,field_rb7gd__c," +
-                                        "field_d0wd5__c,field_o2ol7__c,field_o65a2__c,field_abh39__c,field_7r1xr__c,field_s4421__c," +
-                                        "field_n3nn2__c,field_c147e__c,field_70kbr__c,field_nt4l0__c,field_jo31l__c,lock_status," +
-                                        "owner_department,create_time,created_by,out_owner,last_modified_time,last_modified_by," +
-                                        "record_type,life_status)" +
-                                        "values("+Master+"RadarBasicProject_SEQ.nextval,'"+rbp_code+"','"+_id+"','"+name+"','" +
-                                        deptName+"','"+owner+"','"+
-                                        field_y60xA__c+"','"+getNotNull(dataList,i,"field_8hTac__c")+"','"+
-                                        getNotNull(dataList,i,"field_1vLO1__c")+"','"+getNotNull(dataList,i,"field_rn30q__c")+"','"+
-                                        getNotNull(dataList,i,"field_290w9__c")+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(field_2htkK__c)))+",'"+
-                                        getNotNull(dataList,i,"field_7rst2__c")+"','"+getNotNull(dataList,i,"field_Ul166__c")+"','" +
-                                        getNotNull(dataList,i,"field_4cZLN__c")+"','"+getNotNull(dataList,i,"field_Zb17n__c")+"','" +
-                                        getNotNull(dataList,i,"field_neX7a__c")+"','"+getNotNull(dataList,i,"field_96Jf3__c")+"','" +
-                                        getNotNull(dataList,i,"field_cGjD4__c")+"','"+getNotNull(dataList,i,"field_rb7gD__c")+"','" +
-                                        getNotNull(dataList,i,"field_D0WD5__c")+"','"+getNotNull(dataList,i,"field_O2oL7__c")+"','" +
-                                        getNotNull(dataList,i,"field_o65A2__c")+"','"+getNotNull(dataList,i,"field_aBH39__c")+"','" +
-                                        getNotNull(dataList,i,"field_7r1xr__c")+"','"+getNotNull(dataList,i,"field_s4421__c")+"','" +
-                                        getNotNull(dataList,i,"field_n3NN2__c")+"','"+getNotNull(dataList,i,"field_c147e__c")+"','" +
-                                        getNotNull(dataList,i,"field_70Kbr__c")+"','"+getNotNull(dataList,i,"field_Nt4l0__c")+"','" +
-                                        field_jO31l__c+"','"+lock_status+"','" +
-                                        getNotNull(dataList,i,"owner_department")+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(create_time)))+",'" +
-                                        created_by_name+"','"+out_owner+"',"+
-                                        DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(last_modified_time)))+
-                                        ",'"+last_modified_by_name+"','"+recordType+"','"+lifeStatus+"')";
-                                baseDao.execute(sql);
-                                m++;
-                            }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,'"+crmQueryResult.getErrorMessage()+"','雷达基础类立项下载','"+name+"')");
-                                logger.info("异常信息:"+e);
-                                n++;
-                            }
-                        }
-                        baseDao.execute("insert into "+Master+"FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_syncTime) values("+Master+"FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'下载记录"+dataList.size()+"条,成功"+m+"条,失败"+n+"条','雷达基础类立项下载','"+last_modified_time_sync+"')");
-                    }
-                }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()+"','雷达基础类立项下载','')");
-                    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()+"','雷达基础类立项下载','')");
-            logger.info("异常信息:"+e.getMessage());
-            e.printStackTrace();
-        }
-    }
-
-    private String getDisplayField(List<Map<String, Object>> dataList, int i, String Field, String APINAME){
-        String Master ="YIT.";
-        String ValueField ="";
-        Object account_type = dataList.get(i).get(Field);
-        if(account_type !=null && !"".equals(account_type.toString())){
-            Object DISPLAYFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "DISPLAYFIELD", "VALUEFIELD='" + account_type + "' and APINAME='"+APINAME+"' and MODULEAPINAME='雷达基础类立项'");
-            ValueField= DISPLAYFIELD==null? "" :DISPLAYFIELD.toString();
-        }
-        return ValueField;
-    }
-
-    private String getValueField(String MODULEAPINAME, String APINAME, String DISPLAYFIELD){
-        String Master ="YIT.";
-        String result ="";
-        if(DISPLAYFIELD !=null && !"".equals(DISPLAYFIELD)){
-            Object VALUEFIELD = baseDao.getFieldDataByCondition(Master+"comboData", "VALUEFIELD", "MODULEAPINAME='" + MODULEAPINAME + "' and APINAME='"+APINAME+"' and DISPLAYFIELD='"+DISPLAYFIELD+"'");
-            result = VALUEFIELD==null? "" :VALUEFIELD.toString();
-        }
-        return result;
-    }
-
-    private String getNotNull(List<Map<String, Object>> dataList, int i, String Field){
-        return (dataList.get(i).get(Field)==null?"":dataList.get(i).get(Field)).toString();
-    }
-}

+ 54 - 0
src/main/java/com/uas/eis/utils/Configuration.java

@@ -55,6 +55,21 @@ public class Configuration {
     @Value("${fs.openUserId}")
     private String openUserId;
 
+    @Value("${fs.x5username}")
+    private String x5username;
+
+    @Value("${fs.x5password}")
+    private String x5password;
+
+    @Value("${fs.x5appid}")
+    private String x5appid;
+
+    @Value("${fs.x5appkey}")
+    private String x5appkey;
+
+    @Value("${fs.x5vendercode}")
+    private String x5vendercode;
+
     @Value("${spring.datasource.username}")
     private String username;
 
@@ -98,4 +113,43 @@ public class Configuration {
         return openUserId;
     }
 
+    public String getX5username() {
+        return x5username;
+    }
+
+    public void setX5username(String x5username) {
+        this.x5username = x5username;
+    }
+
+    public String getX5password() {
+        return x5password;
+    }
+
+    public void setX5password(String x5password) {
+        this.x5password = x5password;
+    }
+
+    public String getX5appid() {
+        return x5appid;
+    }
+
+    public void setX5appid(String x5appid) {
+        this.x5appid = x5appid;
+    }
+
+    public String getX5appkey() {
+        return x5appkey;
+    }
+
+    public void setX5appkey(String x5appkey) {
+        this.x5appkey = x5appkey;
+    }
+
+    public String getX5vendercode() {
+        return x5vendercode;
+    }
+
+    public void setX5vendercode(String x5vendercode) {
+        this.x5vendercode = x5vendercode;
+    }
 }

+ 61 - 0
src/main/java/com/uas/eis/utils/X5StringUtils.java

@@ -0,0 +1,61 @@
+package com.uas.eis.utils;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.codec.digest.DigestUtils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+public class X5StringUtils {
+    /**
+     * 字符串判空
+     * @param value 字符串
+     */
+    public static boolean isEmpty(String value) {
+        return value == null || value.equals("");
+    }
+    /**
+     * 字符串判空
+     * @param value 字符串
+     */
+    public static boolean isNotEmpty(String value) {
+        return !isEmpty(value);
+    }
+
+
+    /**
+     * base64解码
+     */
+    public static String decodeBase64(String str) {
+        return org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.decodeBase64(str));
+    }
+
+    /**
+     * base64编码
+     */
+    public static String encodeBase64(String str) {
+        return org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(str.getBytes()));
+    }
+
+    /**
+     * 校验摘要
+     *
+     * @param sign  摘要
+     * @param appId appid
+     * @param body  请求body
+     * @param key   请求key
+     */
+    public static boolean checkSign(String sign, String appId, String body, String key) {
+        return sign.equalsIgnoreCase(DigestUtils.md5Hex(appId + body + key));
+    }
+
+    /**
+     * URLEncode
+     *
+     * @param value   要编码的值
+     * @param charset 编码
+     */
+    public static String urlEncode(String value, String charset) throws UnsupportedEncodingException {
+        return URLEncoder.encode(value, charset);
+    }
+}