Browse Source

Merge remote-tracking branch 'origin/master'

hejq 7 years ago
parent
commit
60f6e5d431

+ 38 - 16
src/main/java/com/uas/erp/schedular/publicinquiry/task/EnterInquiryTask.java

@@ -32,26 +32,37 @@ public class EnterInquiryTask {
         params.put("pageSize","30");
         params.put("isAll","1");
         try {
-            String url = "http://218.17.158.219:24000/inquiry/sale/enremind";
-            /*if("10041559".equals(enterpriseMap.get("EN_UU"))){
+            String url = "";
+            if("10041559".equals(enterpriseMap.get("EN_UU"))){          //胜芳账套特殊处理
                 url = "http://218.17.158.219:24000/inquiry/sale/enremind";
             }else{
                 url = "https://api-inquiry.usoftmall.com/inquiry/sale/enremind";
-            }*/
+            }
             String res = sendGet(url, params);
             //是否存在商机库
             Map<String, Object> map = jdbcTemplate.queryForMap("SELECT COUNT(*) COUNT,BD_NAME FROM BUSINESSDATABASE WHERE (BD_NAME like '%公共%' or bd_name like '%公有%') AND BD_PROP='可领取可分配' AND ROWNUM=1 GROUP BY BD_NAME");
-            if("0".equals(map.get("COUNT"))){
+            if(map == null){
                 Map<String, Object> adminMap = jdbcTemplate.queryForMap("SELECT EM_CODE,EN_ADMINNAME FROM ENTERPRISE LEFT JOIN EMPLOYEE ON EN_ADMINUU=EM_UU");
-                jdbcTemplate.execute("INSERT INTO BUSINESSDATABASE(bd_id,bd_name,bd_prop,bd_admin,bd_admincode,bd_overtime) VALUES(BUSINESSDATABASE_SEQ.NEXTVAL,'公共商机库','可领取可分配','"+adminMap.get("EM_ADMINNAME")+"','"+adminMap.get("EM_CODE")+"',30);");
+                jdbcTemplate.execute("INSERT INTO BUSINESSDATABASE(bd_id,bd_name,bd_prop,bd_admin,bd_admincode,bd_overtime) VALUES(BUSINESSDATABASE_SEQ.NEXTVAL,'公共商机库','可领取可分配','"+adminMap.get("EN_ADMINNAME")+"','"+adminMap.get("EM_CODE")+"',30)");
+                map = new HashMap<String, Object>();
+                map.put("BD_NAME","公共商机库");
+            }else if(map != null && "0".equals(map.get("COUNT"))){
+                Map<String, Object> adminMap = jdbcTemplate.queryForMap("SELECT EM_CODE,EN_ADMINNAME FROM ENTERPRISE LEFT JOIN EMPLOYEE ON EN_ADMINUU=EM_UU");
+                jdbcTemplate.execute("INSERT INTO BUSINESSDATABASE(bd_id,bd_name,bd_prop,bd_admin,bd_admincode,bd_overtime) VALUES(BUSINESSDATABASE_SEQ.NEXTVAL,'公共商机库','可领取可分配','"+adminMap.get("EN_ADMINNAME")+"','"+adminMap.get("EM_CODE")+"',30)");
                 map.put("BD_NAME","公共商机库");
             }
             String sql = "select count(bs_name) count,bs_name from businesschancestage where bs_detno=1 group by bs_name";
             Map<String, Object> bsNameMap= jdbcTemplate.queryForMap(sql);
+            if(bsNameMap == null){
+                String code = jdbcTemplate.generateCode("businesschancestage",2);
+                jdbcTemplate.execute("insert into businesschancestage(bs_id,bs_code,bs_name,bs_color,bs_detno,bs_days) values(businesschancestage_seq.nextval,'"+code+"','样品报价','55CC59',1,7)");
+                bsNameMap = new HashMap<String, Object>();
+                bsNameMap.put("BS_NAME","样品报价");
+            }
             JSONObject json = JSONObject.parseObject(res);
             total = json.getInteger("totalElements");
             if(total > 30){
-                double length = Math.ceil(total / 30);
+                double length = Math.ceil(total / 30.0);
                 JSONArray jsonArray = json.getJSONArray("content");
                 executeDownload(jsonArray,String.valueOf(bsNameMap.get("BS_NAME")), String.valueOf(map.get("BD_NAME")));
                 for(int i = 2; i <= length; i++){
@@ -59,7 +70,11 @@ public class EnterInquiryTask {
                     res = sendGet(url, params);
                     json = JSONObject.parseObject(res);
                     jsonArray = json.getJSONArray("content");
-                    executeDownload(jsonArray,String.valueOf(bsNameMap.get("BS_NAME")), String.valueOf(map.get("BD_NAME")));
+                    try {
+                        executeDownload(jsonArray, String.valueOf(bsNameMap.get("BS_NAME")), String.valueOf(map.get("BD_NAME")));
+                    }catch (Exception e){
+                        continue;
+                    }
                 }
             }else{
                 JSONArray jsonArray = json.getJSONArray("content");
@@ -79,20 +94,27 @@ public class EnterInquiryTask {
             sb.append("if v_count = 0 then ");
             String code = jdbcTemplate.generateCode("businesschance",2);
             String needQty ="";
-            try {
-                needQty = json.getString("needQty");
-            } catch (Exception e) {
+            needQty = json.getString("needQty");
+            if(needQty == null || "null".equals(needQty)){
+                needQty = "";
+            }
+            String description = json.getString("prodTitle")+" "+ json.getString("cmpCode")+" ";
+            if(json.getString("spec") != null && !"null".equals(json.getString("spec")) && !"".equals(json.getString("spec"))){
+                description += json.getString("spec") +" ";
+            }
+            description += json.getString("inbrand");
+            if(needQty != null && !"null".equals(needQty) && !"".equals(needQty)){
+                description += ",需求:"+needQty;
             }
-            String description = json.getString("prodTitle")+" "+ json.getString("cmpCode")+" "+json.getString("spec")+" "+json.getString("inbrand")+",需求:"+needQty;
             Calendar c = Calendar.getInstance();
             c.setTime(new Date(json.getLong("date")));
             c.add(Calendar.MONTH, 2);
             String date = "to_date('" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime())+"','YYYY-MM-DD HH24:MI:SS')";
             String endDate = "to_date('"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(json.getLong("endDate")))+"','YYYY-MM-DD HH24:MI:SS')";
             sb.append("insert into businesschance(bc_id,bc_fromid,bc_code,bc_description,bc_from,bc_nichehouse,bc_currentprocess,bc_date7,bc_status,bc_statuscode,bc_recorder,bc_recorddate,"
-                    + "bc_custname,bc_contact,bc_tel,bc_desc7,bc_desc9,bc_desc10,bc_desc11,bc_desc13,bc_date13) values(businesschance_seq.nextval,"+json.getInteger("id")+",'"+code+"','"+description+"','平台商机','"+bdName+"','"+bsName+"',"+date+","
-                    + "'已审核','AUDITED','自动转入',sysdate,'"+json.getString("enName")+"','"+json.getString("userName")+"','"+json.getString("userTel")+"','"+json.getString("prodTitle")+"','"+json.getString("spec")+"',"
-                    + "'"+json.getString("cmpCode")+"','"+json.getString("inbrand")+"','"+needQty+"',"+endDate+");");
+                    + "bc_custname,bc_contact,bc_tel,bc_desc7,bc_desc9,bc_desc10,bc_desc11,bc_desc13,bc_date13) values(businesschance_seq.nextval,"+json.getInteger("id")+",'"+code+"','"+description.replaceAll("'","''").replaceAll("&","'||'&'||'")+"','平台商机','"+bdName+"','"+bsName+"',"+date+","
+                    + "'已审核','AUDITED','自动转入',sysdate,'"+json.getString("enName")+"','"+json.getString("userName")+"','"+json.getString("userTel")+"','"+json.getString("prodTitle").replaceAll("'","''").replaceAll("&","'||'&'||'")+"','"+json.getString("spec")+"',"
+                    + "'"+json.getString("cmpCode").replaceAll("&","'||'&'||'")+"','"+json.getString("inbrand")+"','"+needQty+"',"+endDate+");");
             sb.append(" end if;");
         }
         sb.append(" end;");
@@ -121,9 +143,9 @@ public class EnterInquiryTask {
             // 获取所有响应头字段
             Map<String, List<String>> map = connection.getHeaderFields();
             // 遍历所有的响应头字段
-            for (String key : map.keySet()) {
+            /*for (String key : map.keySet()) {
                 System.out.println(key + "--->" + map.get(key));
-            }
+            }*/
             // 定义 BufferedReader输入流来读取URL的响应
             in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
             String line;