yaozhixue 1 年之前
父节点
当前提交
926c003d66

二进制
1681549390692147201.jpeg


二进制
1681549733006073858.jpeg


+ 15 - 0
src/main/java/com/zfire/jiasm/syncdata/api/OrderAddBeanDTO.java

@@ -3,6 +3,7 @@ package com.zfire.jiasm.syncdata.api;
 import com.zfire.jiasm.syncdata.plus.entity.OrderCleanItem;
 import com.zfire.jiasm.syncdata.plus.entity.OrderMaterial;
 import com.zfire.jiasm.syncdata.plus.entity.OrderProduct;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
@@ -181,4 +182,18 @@ public class OrderAddBeanDTO {
     private String pgid;
     // 品牌方的工单主键
     private String pgguid;
+    // 来源系统信息方式名称(商城订单标识使用对应格力qqlymc)
+    private String externalName2;
+    // 首次评价(A:好评,B:中评,C:差评,N:未评价,O:其他")
+    private String appraiseStatus;
+    // 首次评价内容
+    private String appraiseContent;
+    // 首次评价时间
+    private Date appraiseTime;
+    // 追评评价状态(A:好评,B:中评,C:差评,N:未评价,O:其他")
+    private String secondAppraiseStatus;
+    // 追评评价内容
+    private String secondContent;
+    // 追评评价时间
+    private Date secondAppraiseTime;
 }

+ 49 - 0
src/main/java/com/zfire/jiasm/syncdata/constant/DatabaseEnum.java

@@ -0,0 +1,49 @@
+package com.zfire.jiasm.syncdata.constant;
+
+import lombok.Getter;
+
+/**
+ * 功能描述:
+ * 数据库描述
+ */
+@Getter
+public enum DatabaseEnum {
+    // 家盛茂
+    JIASM(1,"jiasm"),
+
+    // 工单系统数据库
+    GEJIANG(2,"gejiang"),
+
+    ;
+
+    /**
+     * 编码
+     */
+    private final int code;
+
+    /**
+     * 介绍
+     */
+    private final String text;
+
+    DatabaseEnum(int code, String text) {
+        this.code = code;
+        this.text = text;
+    }
+
+    /**
+     * 通过code获取枚举
+     * @param code 编码
+     * @return DatabaseEnum
+     */
+    public static DatabaseEnum getEnumByCode(int code) {
+        DatabaseEnum result = null;
+        for (DatabaseEnum item : values()) {
+            if (code==item.getCode()) {
+                result = item;
+                break;
+            }
+        }
+        return result;
+    }
+}

+ 2 - 2
src/main/java/com/zfire/jiasm/syncdata/download/order/InstallBusiness.java

@@ -97,10 +97,10 @@ public class InstallBusiness {
 
                 if (orderBaselist.contains(item.getPgguid())){
                     // 修改 TL_SynDataFrom_tbl_az_assign_lc_ls_batch
-                    addInstallBusiness.orderUpdate(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
+                    addInstallBusiness.UpdateOrder(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
                 } else {
                     // 新增 TL_SynDataFrom_tbl_az_assign_lc_ls_batch
-                    addInstallBusiness.orderAdd(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
+                    addInstallBusiness.addOrder(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
                     orderBaselist.add(item.getPgguid());
                 }
             } catch (Exception ex) {

+ 2 - 2
src/main/java/com/zfire/jiasm/syncdata/download/order/InstallBusinessApi.java

@@ -95,10 +95,10 @@ public class InstallBusinessApi {
 
                 if (orderBaselist.contains(item.getPgguid())){
                     // 修改 TL_SynDataFrom_tbl_az_assign_lc_ls_batch
-                    addInstallBusiness.orderUpdateApi(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
+                    addInstallBusiness.updateOrderApi(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item);
                 } else {
                     // 新增 TL_SynDataFrom_tbl_az_assign_lc_ls_batch
-                    if (addInstallBusiness.orderAddApi(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item)){
+                    if (addInstallBusiness.addOrderApi(sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, brand, item)){
                         orderBaselist.add(item.getPgguid());
                     }
                 }

+ 4 - 4
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusiness.java

@@ -45,9 +45,9 @@ public class RepairBusiness {
     // 1:工单落入本地表 TL_SynDataFrom_tbl_assign_batch
     @Scheduled(fixedDelayString = "${repairin}")
     public void inputOrder() {
-        /*if (1 == 1) {
+        if (1 == 1) {
             return;
-        }*/
+        }
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         List<ItfTblAssignDownload> repairRec = new ArrayList<>();
         List<Long> pgids = new ArrayList<>();
@@ -98,11 +98,11 @@ public class RepairBusiness {
             try{
                 if (orderBaselist.contains(String.valueOf(item.getPgid()))){
                     // 修改
-                    addRepairBusiness.updateOrder(brand, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, item,
+                    addRepairBusiness.updateRapairOrder(brand, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, item,
                             sysDictRefDLMapXq, sysDictRefXLMapXq);
                 } else {
                     // 新增 TL_SynDataFrom_tbl_assign_batch
-                    addRepairBusiness.addOrder(brand, item, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap,
+                    addRepairBusiness.addRapairOrder(brand, item, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap,
                             sysDictRefDLMapXq, sysDictRefXLMapXq);
                     orderBaselist.add(String.valueOf(item.getPgid()));
 

+ 4 - 4
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusinessApi.java

@@ -45,9 +45,9 @@ public class RepairBusinessApi {
     // 1:工单落入本地表 TL_SynDataFrom_tbl_assign_batch
     @Scheduled(fixedDelayString = "${repairin}")
     public void inputOrder() {
-        if (1 == 1) {
+        /*if (1 == 1) {
             return;
-        }
+        }*/
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         List<ItfTblAssignDownload> repairRec = new ArrayList<>();
         List<Long> pgids = new ArrayList<>();
@@ -98,11 +98,11 @@ public class RepairBusinessApi {
             try{
                 if (orderBaselist.contains(String.valueOf(item.getPgid()))){
                     // 修改
-                    addRepairBusiness.updateOrderApi(brand, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, item,
+                    addRepairBusiness.updateRepairOrderApi(brand, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, item,
                             sysDictRefDLMapXq, sysDictRefXLMapXq);
                 } else {
                     // 新增 TL_SynDataFrom_tbl_assign_batch
-                    if (addRepairBusiness.addOrderApi(brand, item, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap,
+                    if (addRepairBusiness.addRapairOrderApi(brand, item, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap,
                             sysDictRefDLMapXq, sysDictRefXLMapXq)){
                         orderBaselist.add(String.valueOf(item.getPgid()));
                     }

+ 2 - 2
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairDownload.java

@@ -52,9 +52,9 @@ public class RepairDownload {
     @Scheduled(fixedDelayString = "${repairdown}")
     public void download() throws Exception {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        /*if (1 == 1) {
+        if (1 == 1) {
             return;
-        }*/
+        }
 
 
         try {

+ 408 - 0
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairDownloadGD.java

@@ -0,0 +1,408 @@
+package com.zfire.jiasm.syncdata.download.order;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zfire.jiasm.syncdata.data.Token;
+import com.zfire.jiasm.syncdata.plus.entity.ItfGreeToFaRepairSynRule;
+import com.zfire.jiasm.syncdata.plus.service.ItfGreeToFaRepairSynRuleService;
+import com.zfire.jiasm.syncdata.utils.DataUtil;
+import com.zfire.jiasm.syncdata.utils.HttpUtil;
+import com.zfire.jiasm.syncdata.utils.JSONResult;
+import com.zfire.jiasm.syncdata.utils.TokenCenter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.dao.DataAccessException;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+/**
+ * 格力品牌维修工单下载
+ */
+@Slf4j
+@Component
+public class RepairDownloadGD {
+    @Value("${gdbaseurl}")
+    private String baseurl = "";
+    @Value("${nullCols}")
+    private String nullCols;
+
+    @Resource
+    RepairDownloadGD repairDownloadgd;
+    @Autowired
+    TokenCenter tokenCenter;
+    @Resource
+    ItfGreeToFaRepairSynRuleService itfGreeToFaRepairSynRuleService;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+    private Set<String> nullDateCols;
+
+    // 下载维修工单数据
+    @Scheduled(fixedDelayString = "${repairdown}")
+    public void download() throws Exception {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        /*if (1 == 1) {
+            return;
+        }*/
+
+        try {
+            ItfGreeToFaRepairSynRule synRule = itfGreeToFaRepairSynRuleService.lambdaQuery()
+                    .orderByAsc(ItfGreeToFaRepairSynRule::getId).one();
+            if (synRule==null){
+                return;
+            }
+
+            log.info("开始下载维修工单: \uF0B7{}",sdf.format(new Date()));
+
+            // 数据源表名
+            String srcTabNames = synRule.getSrcTabName();
+            String[] srcTabnameArray = srcTabNames.trim().split("\\Q|\\E");
+
+            // 数据源表列
+            String srcTabColLists = synRule.getSrcTabColList();
+            String[] srcTabColListArray = srcTabColLists.trim().split("\\Q|\\E");
+
+            // 数据目的表名
+            String destTabNames = synRule.getDestTabName();
+            String[] destTabNameArray = destTabNames.trim().split("\\Q|\\E");
+
+            // 数据目的表列
+            String destTabColLists = synRule.getDestTabColList();
+            String[] destTabColListArray = destTabColLists.trim().split("\\Q|\\E");
+
+            // 销售公司编码
+            String salesWebsitNumber = synRule.getSalesWebsitNumber();
+            String downloadBatchNo = UUID.randomUUID().toString();
+            int id = 0;
+            // 获取数据
+            JSONArray datas = downloadDataGD(id);
+
+            log.info("维修工单下载了{}条数据",datas.size());
+
+            for (int i = 0; i < datas.size(); i++) {
+                JSONObject sheet = datas.getJSONObject(i);
+                try{
+                    // 维修工单主表必须存在
+                    JSONObject mainTableData = sheet.getJSONObject("tblAssign");
+                    if (mainTableData != null) {
+                        String downloadTaskNo = UUID.randomUUID().toString();
+                        DataUtil.initLastModifiedDate(mainTableData,"last_modified_date");
+                        repairDownloadgd.addRepairData(mainTableData, downloadBatchNo, downloadTaskNo, sheet,
+                                srcTabnameArray, srcTabColListArray, destTabNameArray, destTabColListArray,
+                                salesWebsitNumber,id);
+                    } else {
+                        log.error("维修工单找不到主表数据,downloadBatchNo[" + downloadBatchNo + "]");
+                    }
+                } catch (Exception ex) {
+                    log.info("维修工单下载落download表失败:{}" ,JSONObject.toJSONString(sheet));
+                    ex.printStackTrace();
+                }
+            }
+
+            log.info("维修工单同步下载状态");
+            // 与总部同步下载状态,修改本地下载记录表状态 gree_stat_syn_status =1
+            updateStatus();
+
+            log.info("维修工单下载完成");
+        } catch (Exception ex) {
+            log.error("从总部取维修工单失败", ex);
+        }
+
+    }
+
+    private void updateStatus() {
+        try {
+            List<Map<String, Object>> result = getNeedUpdateTaskData("itf_repair_batch_download_rec");
+            String url = baseurl + "sync/repairorderup";
+            for (Map<String, Object> row : result) {
+                Long synReqId = (Long) row.get("syn_req_id");
+                Integer gdid = Integer.valueOf((String) row.get("gdid"));
+                try {
+                    Map<String, Object> paramMap = new HashMap<String, Object>();
+                    paramMap.put("id", gdid);
+                    JSONObject jsonResult = HttpUtil.httpRequestWithGD(url, "POST",JSONObject.toJSONString(paramMap));
+
+                    String code = jsonResult.getString("code");
+                    if ("200".equals(code)) {
+                        updateSuccess(synReqId, "itf_repair_batch_download_rec");
+                    } else {
+                        updateError(synReqId, "与工单系统同步失败", "itf_repair_batch_download_rec");
+                    }
+                } catch (Exception ex) {
+                    log.error("工单系统更新维修主表下载状态失败syn_req_id=" + synReqId, ex);
+                    updateError(synReqId, ex.getMessage(), "itf_repair_batch_download_rec");
+                }
+            }
+        } catch (Exception ex) {
+            log.error("工单系统更新维修主表下载状态失败", ex);
+        }
+    }
+
+    public void updateError(Long synReqId, String errorMessage, String tabName) {
+        jdbcTemplate.update(
+                "update " + tabName + " set gree_stat_syn_status=99,gree_stat_syn_err_msg=? where syn_req_id=?",
+                new Object[] { errorMessage, synReqId });
+    }
+
+    public void updateSuccess(Long synReqId, String tabName) {
+        jdbcTemplate.update("update " + tabName + " set gree_stat_syn_status=1,gree_stat_syn_time=? where syn_req_id=?",
+                new Object[] { new Date(System.currentTimeMillis()), synReqId });
+    }
+
+    public List<Map<String, Object>> getNeedUpdateTaskData(String tabName) {
+        List<Map<String, Object>> result = jdbcTemplate
+                .queryForList("SELECT * from " + tabName
+                        + " where gree_stat_syn_status=0 and gdid>-1 order by syn_req_id ");
+        return result;
+    }
+
+    private JSONArray downloadData(String downloadBatchNo, String salesWebsitNumber) throws Exception {
+
+        Token token = tokenCenter.getCurrentToken();
+        String url = baseurl + "api/repair/batchsearch/repairorders?ssxsgs=" + salesWebsitNumber;
+        // log.info("url[" + url + "],downloadBatchNo[" + downloadBatchNo + "],send[]");
+        JSONObject jsonResult = HttpUtil.httpRequestGetPgid(url, "GET", token, downloadBatchNo,null);
+
+        String statusCode = jsonResult.getString("statusCode");
+        if ("200".equals(statusCode)) {
+            JSONArray datas = jsonResult.getJSONArray("data");
+            return datas;
+        } else {
+            String errorMessage = jsonResult.getString("message");
+            if (errorMessage == null || errorMessage.trim().length() == 0) {
+                errorMessage = "失败";
+            }
+            throw new Exception(errorMessage);
+        }
+
+    }
+
+    private JSONArray downloadDataGD(int id) throws Exception {
+        String url = baseurl + "sync/repairorder";
+        JSONObject jsonResult = HttpUtil.httpRequestGetPgidGD(url, "GET", null);
+
+        String code = jsonResult.getString("code");
+        if ("200".equals(code)) {
+            JSONArray datas = jsonResult.getJSONArray("data");
+            id =Integer.valueOf((String)jsonResult.getString("id"));
+            return datas;
+        } else {
+            String errorMessage = jsonResult.getString("message");
+            if (errorMessage == null || errorMessage.trim().length() == 0) {
+                errorMessage = "失败";
+            }
+            throw new Exception(errorMessage);
+        }
+
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void addRepairData(JSONObject mainTableData, String downloadBatchNo, String downloadTaskNo, JSONObject sheet,
+                              String[] srcTabnameArray, String[] srcTabColListArray, String[] destTabNameArray,
+                              String[] destTabColListArray, String salesWebsitNumber, int id) throws Exception {
+        // 查看同一时间同一工单是否存在下载记录表 存在不再保存本次的同步数据
+        if (insertRepairRecData(mainTableData, downloadBatchNo, downloadTaskNo, salesWebsitNumber, id)) {
+            parseData(sheet, srcTabnameArray, srcTabColListArray, destTabNameArray, destTabColListArray, downloadTaskNo,
+                    false, downloadBatchNo);
+        }
+    }
+
+    private boolean insertRepairRecData(JSONObject aData, String downloadBatchNo, String downloadTaskNo,
+                                        String salesWebsitNumber, Integer id) throws Exception {
+
+        // 查看 相同时间同一单数据
+        List<Map<String, Object>> rec = isRepairDuplicate(aData);
+
+
+        boolean duplicate = (rec.size() > 0);
+
+        String sql = "insert into itf_repair_batch_download_rec (sales_websit_number,download_batch_no,download_task_no,"
+                + "created_by,created_date,last_modified_by,last_modified_date,pgid,"
+                + "extjson1,extjson2,extjson3,extjson4,extjson5,gdid" + (duplicate ? ",gree_stat_syn_err_msg" : "")
+                + ") values (" + "?,?,?,?,?,?,?,?,?,?,?,?,?" + (duplicate ? ",?,?" : "") + ") ";
+
+        // 存在 说明重复获取,不再保存数据
+        if (duplicate) {
+            if (!recHasNoUploadStatus(rec)) {
+                jdbcTemplate.update(sql,
+                        new Object[] { salesWebsitNumber, downloadBatchNo, downloadTaskNo,
+                                aData.getString("created_by"), aData.getString("created_date"),
+                                aData.getString("last_modified_by"), aData.getString("last_modified_date"),
+                                aData.getString("pgid"), aData.getString("extjson1"), aData.getString("extjson2"),
+                                aData.getString("extjson3"), aData.getString("extjson4"), aData.getString("extjson5"),
+                                "任务已经存在,不再产生下载数据" });
+            }
+            return false;
+        } else {
+            jdbcTemplate.update(sql,
+                    new Object[] { salesWebsitNumber, downloadBatchNo, downloadTaskNo, aData.getString("created_by"),
+                            aData.getString("created_date"), aData.getString("last_modified_by"),
+                            aData.getString("last_modified_date"), aData.getString("pgid"), aData.getString("extjson1"),
+                            aData.getString("extjson2"), aData.getString("extjson3"), aData.getString("extjson4"),
+                            aData.getString("extjson5"),id });
+            return true;
+        }
+
+    }
+
+    private List<Map<String, Object>> isRepairDuplicate(JSONObject aData) throws DataAccessException, ParseException {
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<Map<String, Object>> result = jdbcTemplate.queryForList(
+                "select * from itf_repair_batch_download_rec where pgid=? and last_modified_date=?",
+                new Object[] { aData.getString("pgid"), sdf.parse(aData.getString("last_modified_date")) });
+
+        return result;
+    }
+
+    private boolean recHasNoUploadStatus(List<Map<String, Object>> rec) {
+        for (Map<String, Object> data : rec) {
+            int greeStatSynStatus = (Integer) data.get("gree_stat_syn_status");
+            if (greeStatSynStatus == 0) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void parseData(JSONObject sheet, String[] srcTabnameArray, String[] srcTabColListArray,
+                           String[] destTabNameArray, String[] destTabColListArray, String downloadTaskNo, boolean isInstall,
+                           String downloadBatchNo) throws Exception {
+
+        for (int i = 0; i < srcTabnameArray.length; i++) {
+
+            String srcTabname = srcTabnameArray[i];
+            String srcTabColList = srcTabColListArray[i];
+            String destTabName = destTabNameArray[i];
+            String destTabColList = destTabColListArray[i];
+
+            String[] arySrcTabCol = srcTabColList.split("\\Q,\\E");
+
+            JSONArray tableData = new JSONArray();
+
+            if (isInstall) {
+                tableData = sheet.getJSONArray(srcTabname.toUpperCase());
+            } else {
+                if ("tblAssign".equalsIgnoreCase(DataUtil.fromDbName2ServiceName(srcTabname))) {
+                    tableData = new JSONArray();
+                    tableData.add(sheet.getJSONObject("tblAssign"));
+                } else {
+                    tableData = sheet.getJSONArray(DataUtil.fromDbName2ServiceName(srcTabname));
+                }
+
+            }
+
+            if (tableData == null){
+                continue;
+            }
+
+            for (int j = 0; j < tableData.size(); j++) {
+                parseAData(isInstall, downloadBatchNo, downloadTaskNo, destTabName, destTabColList, arySrcTabCol,
+                        tableData.getJSONObject(j));
+            }
+        }
+    }
+
+    public void parseAData(boolean isInstall, String downloadBatchNo, String downloadTaskNo, String destTabName,
+                            String destTabColList, String[] arySrcTabCol, JSONObject aData) throws Exception {
+        String table = "itf_tbl_az_assign_platform_download";
+        String daijian = "itf_tbl_assign_daijian_download";
+        String yd = "itf_tbl_assign_xzyd_download";
+
+        String[] arySrcTabColValue = new String[arySrcTabCol.length];
+
+        for (int j = 0; j < arySrcTabCol.length; j++) {
+            if (isInstall) {
+                if (destTabName.equals(table) && (j==2 || j== 4 || j==9)){
+                    if (StringUtils.isEmpty(DataUtil.findValue(DataUtil.fromDbName2ServiceName(arySrcTabCol[j].trim()),aData))){
+                        arySrcTabColValue[j] = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+                        continue;
+                    }
+                }
+                arySrcTabColValue[j] = DataUtil.findValue(DataUtil.fromDbName2ServiceName(arySrcTabCol[j].trim()),
+                        aData);
+            } else {
+                if (destTabName.equals(daijian)){
+                    //创建时间 cjdt
+                    DataUtil.initLastModifiedDate(aData,"cjdt");
+                    // 商品大类 splb
+                    DataUtil.initOther(aData,"splb");
+                    // 替换编码销售公司库存 thbmxsgsnum
+                    DataUtil.initOther(aData,"thbmxsgsnum");
+                    // 替换编码区域库存 thbmqynum
+                    DataUtil.initOther(aData,"thbmqynum");
+                    // 替换编码网点库存 thbmwdnum
+                    DataUtil.initOther(aData,"thbmwdnum");
+                    // 配件系统处理标识 pjxtflag
+                    DataUtil.initOther(aData,"pjxtflag");
+                    // 区域配件库存 djquyunum
+                    DataUtil.initOther(aData,"djquyunum");
+                    // 销售公司配件库存 djxsgsnum
+                    DataUtil.initOther(aData,"djxsgsnum");
+                    // 网点配件库存 djwdnum
+                    DataUtil.initOther(aData,"djwdnum");
+                } else if (destTabName.equals(yd)){
+                    DataUtil.initOther(aData,"cshu");
+                    DataUtil.initOther(aData,"ydbz");
+                }
+
+                String colName = arySrcTabCol[j].trim();
+                arySrcTabColValue[j] = DataUtil.findValue(colName, aData);
+                if (getNullColSet().contains(colName)) {
+                    if ("".equals(arySrcTabColValue[j])) {
+                        arySrcTabColValue[j] = null;
+                    }
+                }
+            }
+        }
+
+        insertAData(downloadBatchNo, downloadTaskNo, destTabName, destTabColList, arySrcTabColValue);
+    }
+
+    public void insertAData(String downloadBatchNo, String downloadTaskNo, String destTabName, String destTabColList,
+                             Object[] arySrcTabColValue) throws Exception {
+
+        StringBuffer mark = new StringBuffer();
+        for (int i = 0; i < arySrcTabColValue.length; i++) {
+            if (mark.length() > 0) {
+                mark.append(",");
+            }
+            mark.append("?");
+        }
+
+        String sql = "insert into " + destTabName + " (download_batch_no,download_task_no," + destTabColList
+                + ") values (?,?," + mark + ") ";
+
+        Object[] insertValue = new Object[arySrcTabColValue.length + 2];
+        insertValue[0] = downloadBatchNo;
+        insertValue[1] = downloadTaskNo;
+        System.arraycopy(arySrcTabColValue, 0, insertValue, 2, arySrcTabColValue.length);
+        jdbcTemplate.update(sql, insertValue);
+
+    }
+
+    private synchronized Set<String> getNullColSet(){
+        if(nullDateCols==null) {
+            nullDateCols=new HashSet<String>();
+            String[] nullColArray=nullCols.split("\\Q,\\E");
+            for(String value:nullColArray) {
+                nullDateCols.add(value);
+            }
+        }
+        return nullDateCols;
+    }
+
+
+}

+ 6 - 6
src/main/java/com/zfire/jiasm/syncdata/service/AddInstallBusiness.java

@@ -8,16 +8,16 @@ import java.util.List;
 import java.util.Map;
 
 public interface AddInstallBusiness {
-    void orderAdd(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    void addOrder(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                   Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item);
 
-    Boolean orderAddApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
-                  Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) throws Exception;
-
-    void orderUpdate(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    void UpdateOrder(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                      Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item);
 
-    void orderUpdateApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    Boolean addOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+                  Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) throws Exception;
+
+    void updateOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                      Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) throws Exception;
 
     }

+ 10 - 10
src/main/java/com/zfire/jiasm/syncdata/service/AddRepairBusiness.java

@@ -8,28 +8,28 @@ import java.util.List;
 import java.util.Map;
 
 public interface AddRepairBusiness {
-    void addOrder(Brand brand, ItfTblAssignDownload item,
+    void addRapairOrder(Brand brand, ItfTblAssignDownload item,
                   Map<String, List<SysDictRef>> sysDictRefDLMap,
                   Map<String, List<SysDictRef>> sysDictRefXLMap,
                   Map<String, List<SysDictRef>> sysDictRefXiLieMap,
                   Map<String, List<SysDictRef>> sysDictRefDLMapXq,
                   Map<String, List<SysDictRef>> sysDictRefXLMapXq);
 
-    Boolean addOrderApi(Brand brand, ItfTblAssignDownload item,
+    void updateRapairOrder(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
+                           Map<String, List<SysDictRef>> sysDictRefXLMap,
+                           Map<String, List<SysDictRef>> sysDictRefXiLieMap,
+                           ItfTblAssignDownload item,
+                           Map<String, List<SysDictRef>> sysDictRefDLMapXq,
+                           Map<String, List<SysDictRef>> sysDictRefXLMapXq);
+
+    Boolean addRapairOrderApi(Brand brand, ItfTblAssignDownload item,
                   Map<String, List<SysDictRef>> sysDictRefDLMap,
                   Map<String, List<SysDictRef>> sysDictRefXLMap,
                   Map<String, List<SysDictRef>> sysDictRefXiLieMap,
                   Map<String, List<SysDictRef>> sysDictRefDLMapXq,
                   Map<String, List<SysDictRef>> sysDictRefXLMapXq) throws Exception;
 
-    void updateOrder(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
-                     Map<String, List<SysDictRef>> sysDictRefXLMap,
-                     Map<String, List<SysDictRef>> sysDictRefXiLieMap,
-                     ItfTblAssignDownload item,
-                     Map<String, List<SysDictRef>> sysDictRefDLMapXq,
-                     Map<String, List<SysDictRef>> sysDictRefXLMapXq);
-
-    Boolean updateOrderApi(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
+    Boolean updateRepairOrderApi(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
                      Map<String, List<SysDictRef>> sysDictRefXLMap,
                      Map<String, List<SysDictRef>> sysDictRefXiLieMap,
                      ItfTblAssignDownload item,

+ 25 - 21
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddInstallBusinessImpl.java

@@ -96,7 +96,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void orderAdd(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    public void addOrder(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                          Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) {
         List<OrderReAppointment> oa = new ArrayList<>();
         List<OrderAppraise> oanew = new ArrayList<>();
@@ -137,7 +137,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
             }
         }*/
 
-        // 获取安装工单主表
+        // 获取安装工单主表 + 采集数据下载
         OrderBase orderBase = getAddOrderBase(item, brand,oads,its);
 
         // 以旧换新数据下载同步表
@@ -178,7 +178,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean orderAddApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    public Boolean addOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                          Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) throws Exception {
         List<OrderReAppointment> oa = new ArrayList<>();
         List<OrderAppraise> oanew = new ArrayList<>();
@@ -244,15 +244,18 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         getOrderAppraise(orderBase, sysDictRefDLMap, oanew, item.getDownloadTaskNo(), getpjSynReqId,faGreeSms,orderAppeal);
 
         // 生成工单
-        return createInstallOrder(item, oanew, orderProducts, odfs, synReqIds, synReqFkMxIds, synReqYfYyIds, faGreeSms, orderAppeal, its, oads, orderBase, orderWorker, fyqd, orderInstall, getpjSynReqId);
+        return createInstallOrder(item, orderProducts, odfs, synReqIds,
+                synReqFkMxIds, synReqYfYyIds, faGreeSms, orderAppeal, its,
+                oads, orderBase, orderWorker, fyqd, orderInstall, getpjSynReqId);
     }
 
     @NotNull
-    private Boolean createInstallOrder(ItfTblAzAssignLcLsDownload item, List<OrderAppraise> oanew, List<OrderProduct> orderProducts,
-                                       List<OrderDetailFile> odfs, List<Long> synReqIds, List<Long> synReqFkMxIds, List<Long> synReqYfYyIds,
-                                       List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal, List<ItfGreeToFaDownloadTaskList> its,
-                                       List<OrderApplyDispatch> oads, OrderBase orderBase, OrderWorker orderWorker,
-                                       List<ItfTblAzAssignFeeDownload> fyqd, OrderInstall orderInstall, List<Long> getpjSynReqId) throws Exception {
+    private Boolean createInstallOrder(ItfTblAzAssignLcLsDownload item, List<OrderProduct> orderProducts,
+                                       List<OrderDetailFile> odfs, List<Long> synReqIds, List<Long> synReqFkMxIds,
+                                       List<Long> synReqYfYyIds, List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal,
+                                       List<ItfGreeToFaDownloadTaskList> its, List<OrderApplyDispatch> oads,
+                                       OrderBase orderBase, OrderWorker orderWorker, List<ItfTblAzAssignFeeDownload> fyqd,
+                                       OrderInstall orderInstall, List<Long> getpjSynReqId) throws Exception {
         // 创建工单
         OrderAddBeanDTO createOrder = new OrderAddBeanDTO();
         // 工单机型
@@ -263,13 +266,14 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         List<OrderCleanItem> orderCleanItems = new ArrayList<>();
 
         // 工单主表、机型、辅材、清洗、预约改约记录、师傅、创建日志、生成采集数据不要
-        getOrderApi(item, orderProducts, orderBase, orderWorker, orderInstall, createOrder, orderProductList, orderMaterialList, orderCleanItems);
+        getOrderApi(orderProducts, orderBase, orderWorker, orderInstall, createOrder,
+                orderProductList, orderMaterialList, orderCleanItems);
         log.info("request:{}", JSONObject.toJSONString(createOrder));
         ResponseHelper respone = jiasmApi.orderAdd(createOrder);
         log.info("respone:{}", JSONObject.toJSONString(respone));
         if (respone.getCode()==200){
             // 安装工单数据落本地表
-            addOrderDataApi(oanew, item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId,
+            addOrderDataApi(item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId,
                     faGreeSms, orderAppeal, its, oads, odfs);
             return Boolean.TRUE;
         } else {
@@ -289,7 +293,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void orderUpdate(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    public void UpdateOrder(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                             Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) {
         List<Long> synReqYfYyIds = new ArrayList<>();
         List<OrderReAppointment> addoalists = new ArrayList<>();
@@ -365,7 +369,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void orderUpdateApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
+    public void updateOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
                                Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item) throws Exception {
         List<Long> synReqYfYyIds = new ArrayList<>();
         List<OrderReAppointment> addoalists = new ArrayList<>();
@@ -444,7 +448,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         List<OrderCleanItem> orderCleanItems = new ArrayList<>();
 
         // 工单主表、机型、辅材、清洗、预约改约记录、师傅、创建日志、生成采集数据不要
-        getOrderApi(item, orderProductsUpdate, upInfo, own, orderInstall, order, orderProductList, orderMaterialList, orderCleanItems);
+        getOrderApi(orderProductsUpdate, upInfo, own, orderInstall, order, orderProductList, orderMaterialList, orderCleanItems);
         log.info("request:{}", JSONObject.toJSONString(order));
         ResponseHelper respone = jiasmApi.orderAdd(order);
         log.info("respone:{}", JSONObject.toJSONString(respone));
@@ -541,16 +545,18 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
 
     }
 
-    public void addOrderDataApi(List<OrderAppraise> oanew,
-                                Long synReqId, List<Long> synReqIds,  List<Long> synReqFkMxIds, List<Long> synReqYfYyIds,
+    public void addOrderDataApi(Long synReqId, List<Long> synReqIds,  List<Long> synReqFkMxIds,
+                                List<Long> synReqYfYyIds,
                                 List<ItfTblAzAssignFeeDownload> fyqd, List<Long> getpjSynReqId,
                                 List<FaGreeSms> faGreeSms,List<OrderAppeal> orderAppeal,
                                 List<ItfGreeToFaDownloadTaskList> its, List<OrderApplyDispatch> oads,
                                 List<OrderDetailFile> odfs) {
         // 工单基础表
+        // 工单扩展信息
         // 工单师傅表
         // 工单机型表
         // 采集明细
+
         // 采集附件
         if (odfs.size()>0){
             orderDetailFileService.saveBatch(odfs);
@@ -565,6 +571,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
             upItfTblAzAssignFkmxDownload(synReqFkMxIds);
             synReqFkMxIds.clear();
         }
+
         // 安装费用清单表
         if (CollectionUtils.isNotEmpty(fyqd)){
             upItfTblAzAssignFeeDownload(fyqd);
@@ -606,7 +613,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         upItfTblAzAssignLcLsDownload(synReqId);
     }
 
-    private void getOrderApi(ItfTblAzAssignLcLsDownload item, List<OrderProduct> orderProducts, OrderBase orderBase,
+    private void getOrderApi(List<OrderProduct> orderProducts, OrderBase orderBase,
                              OrderWorker orderWorker,OrderInstall orderInstall, OrderAddBeanDTO createOrder,
                              List<OrderProduct> orderProductList, List<OrderMaterial> orderMaterialList,
                              List<OrderCleanItem> orderCleanItems) {
@@ -627,9 +634,6 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
             workerIds.add(orderWorker.getWorkerId());
             createOrder.getWorkerIds().addAll(workerIds);
         }
-        // 网点赋值时已做处理,这里无需再处理
-        // createOrder.setSaleWebsitId(item.getXsdwno());
-        // createOrder.setSaleWebsitName(item.getXswdmc());
         createOrder.setLinkName(orderBase.getUserName());
     }
 
@@ -2644,7 +2648,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
                 orderBase.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_A1130.getCode()) ){
             orderBase.setIsReservation(1);
         }
-        // 重置部分数据
+        // 重置部分数据 + 采集数据下载
         orderService.setPar(item, orderBase,oads,its);
 
         return orderBase;

+ 5 - 7
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddRepairBusinessImpl.java

@@ -95,7 +95,7 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addOrder(Brand brand, ItfTblAssignDownload item,
+    public void addRapairOrder(Brand brand, ItfTblAssignDownload item,
                          Map<String, List<SysDictRef>> sysDictRefDLMap,
                          Map<String, List<SysDictRef>> sysDictRefXLMap,
                          Map<String, List<SysDictRef>> sysDictRefXiLieMap,
@@ -126,7 +126,7 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateOrder(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
+    public void updateRapairOrder(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
                             Map<String, List<SysDictRef>> sysDictRefXLMap,
                             Map<String, List<SysDictRef>> sysDictRefXiLieMap,
                             ItfTblAssignDownload item,
@@ -162,7 +162,7 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean addOrderApi(Brand brand, ItfTblAssignDownload item,
+    public Boolean addRapairOrderApi(Brand brand, ItfTblAssignDownload item,
                          Map<String, List<SysDictRef>> sysDictRefDLMap,
                          Map<String, List<SysDictRef>> sysDictRefXLMap,
                          Map<String, List<SysDictRef>> sysDictRefXiLieMap,
@@ -211,7 +211,7 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean updateOrderApi(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
+    public Boolean updateRepairOrderApi(Brand brand, Map<String, List<SysDictRef>> sysDictRefDLMap,
                             Map<String, List<SysDictRef>> sysDictRefXLMap,
                             Map<String, List<SysDictRef>> sysDictRefXiLieMap,
                             ItfTblAssignDownload item,
@@ -244,7 +244,7 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
 
         // TL_SynDataFrom_tbl_assign_batch
         // TL_SynDataFrom_tbl_assign 主单的 syn_req_id
-        // 处理维修工单主表数据
+        // 处理维修工单主表数据 + 采集数据下载 41,102
         modifyOrderBaseApi(brand, sysDictRefDLMap, item, addn, order);
         // 修改工单改派申请表
         upOrderApplyDispatchApi(item, orderStatus, order);
@@ -493,8 +493,6 @@ public class AddRepairBusinessImpl implements AddRepairBusiness {
             workerIds.add(orderWorker.getWorkerId());
             createOrder.getWorkerIds().addAll(workerIds);
         }
-        createOrder.setSaleWebsitId(orderBase.getSaleWebsitId());
-        createOrder.setSaleWebsitName(orderBase.getSaleWebsitName());
         createOrder.setLinkName(orderBase.getUserName());
     }
 

+ 2 - 2
src/main/java/com/zfire/jiasm/syncdata/upload/worker/UploadWorkeCertificate.java

@@ -82,7 +82,7 @@ public class UploadWorkeCertificate {
             fid2 = "";
             count = 0;
 
-           //  查看师傅是否已选中品牌商网点
+           //  查看师傅是否已选中品牌商网点(这里只提取选中格力品牌商的师傅数据)
             workerWdnos = workerBrandAccountService.lambdaQuery()
                     .eq(WorkerBrandAccount::getWorkerId, item.getWorkerId())
                     .eq(WorkerBrandAccount::getBrandWorkerStatus,"ON")
@@ -91,7 +91,7 @@ public class UploadWorkeCertificate {
 
             // 未选择品牌商
             if (workerWdnos.size()<1){
-                updateWorkCertificateerror(item.getId(),"师傅未选择品牌商信息");
+                updateWorkCertificateerror(item.getId(),"师傅未选择格力品牌商信息");
                 continue;
             }
 

+ 141 - 0
src/main/java/com/zfire/jiasm/syncdata/utils/HttpUtil.java

@@ -95,6 +95,75 @@ public class HttpUtil {
 		return jsonresult;
 	}
 
+	public static JSONObject httpRequestGetPgidGD(String requestUrl, String requestMethod,String outputStr) throws Exception{
+		JSONObject jsonresult = null;
+		StringBuffer buffer = new StringBuffer();
+		HttpURLConnection httpUrlConn = null;
+		try {
+			trustAllHttpsCertificates();
+			HostnameVerifier hv = new HostnameVerifier() {
+				public boolean verify(String urlHostName, SSLSession session) {
+					return true;
+				}
+			};
+			HttpsURLConnection.setDefaultHostnameVerifier(hv);
+
+			URL url = new URL(requestUrl);
+			httpUrlConn = (HttpURLConnection) url.openConnection();
+			httpUrlConn.setDoOutput(true);
+			httpUrlConn.setDoInput(true);
+			httpUrlConn.setUseCaches(false);
+			httpUrlConn.setConnectTimeout(30000);
+			httpUrlConn.setReadTimeout(30000);
+			httpUrlConn.setRequestProperty("Authorization", "Bearer 1234");
+			httpUrlConn.setRequestProperty("Accept", "*/*");
+			httpUrlConn.setRequestProperty("Content-Type", "application/json");
+			httpUrlConn.setRequestMethod(requestMethod);
+			if ("GET".equalsIgnoreCase(requestMethod))
+				httpUrlConn.connect();
+
+			if (null != outputStr) {
+				OutputStream outputStream = httpUrlConn.getOutputStream();
+				outputStream.write(outputStr.getBytes("UTF-8"));
+				outputStream.close();
+			}
+
+			InputStream inputStream;
+			if (httpUrlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
+				inputStream = httpUrlConn.getInputStream();
+			} else {
+				inputStream = httpUrlConn.getErrorStream();
+			}
+
+			InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
+			BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+
+			String str = null;
+			while ((str = bufferedReader.readLine()) != null) {
+				buffer.append(str);
+			}
+			bufferedReader.close();
+			inputStreamReader.close();
+			inputStream.close();
+			httpUrlConn.disconnect();
+			String result = buffer.toString();
+			jsonresult = JSONObject.parseObject(result);
+		} catch (ConnectException ce) {
+			log.error("发生错误", ce);
+			throw ce;
+		} catch (Exception e) {
+			log.error("发生错误", e);
+			throw e;
+		} finally {
+			try {
+				httpUrlConn.disconnect();
+			} catch (Exception e) {
+				log.error("发生错误", e);
+			}
+		}
+		return jsonresult;
+	}
+
 
 	public static JSONObject httpRequestGetPgidt(String requestUrl, String requestMethod,
 												 String accessToken, String downloadBatchNo, String outputStr) throws Exception{
@@ -244,6 +313,78 @@ public class HttpUtil {
 		return jsonresult;
 	}
 
+
+	public static JSONObject httpRequestWithGD(String requestUrl, String requestMethod, String outputStr) throws Exception{
+		JSONObject jsonresult = null;
+		StringBuffer buffer = new StringBuffer();
+		HttpURLConnection httpUrlConn = null;
+		try {
+
+			trustAllHttpsCertificates();
+			HostnameVerifier hv = new HostnameVerifier() {
+				public boolean verify(String urlHostName, SSLSession session) {
+					return true;
+				}
+			};
+			HttpsURLConnection.setDefaultHostnameVerifier(hv);
+
+			URL url = new URL(requestUrl);
+			httpUrlConn = (HttpURLConnection) url.openConnection();
+			httpUrlConn.setDoOutput(true);
+			httpUrlConn.setDoInput(true);
+			httpUrlConn.setUseCaches(false);
+			httpUrlConn.setConnectTimeout(30000);
+			httpUrlConn.setReadTimeout(30000);
+			httpUrlConn.setRequestProperty("Authorization", "Bearer 1234");
+			httpUrlConn.setRequestProperty("Accept", "*/*");
+			httpUrlConn.setRequestProperty("Content-Type", "application/json");
+			httpUrlConn.setRequestMethod(requestMethod);
+			if ("GET".equalsIgnoreCase(requestMethod))
+				httpUrlConn.connect();
+
+			if (null != outputStr) {
+				OutputStream outputStream = httpUrlConn.getOutputStream();
+				outputStream.write(outputStr.getBytes("UTF-8"));
+				outputStream.close();
+			}
+
+			InputStream inputStream;
+			if (httpUrlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
+				inputStream = httpUrlConn.getInputStream();
+			} else {
+				inputStream = httpUrlConn.getErrorStream();
+			}
+
+			InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
+			BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+
+			String str = null;
+			while ((str = bufferedReader.readLine()) != null) {
+				buffer.append(str);
+			}
+			bufferedReader.close();
+			inputStreamReader.close();
+			inputStream.close();
+			inputStream = null;
+			httpUrlConn.disconnect();
+			String result = buffer.toString();
+			jsonresult = JSONObject.parseObject(result);
+		} catch (ConnectException ce) {
+			log.error("发生错误", ce);
+			throw ce;
+		} catch (Exception e) {
+			log.error("发生错误", e);
+			throw e;
+		} finally {
+			try {
+				httpUrlConn.disconnect();
+			} catch (Exception e) {
+				log.error("发生错误", e);
+			}
+		}
+		return jsonresult;
+	}
+
 	public static JSONResult httpRequestWithTokenT(String requestUrl, String requestMethod, String outputStr,
 												   String accessToken) throws Exception{
 		JSONResult jsonresult = null;

+ 4 - 0
src/main/resources/bootstrap-dev.properties

@@ -170,6 +170,10 @@ spring.cloud.nacos.config.server-addr=121.43.111.127:8848
 spring.cloud.nacos.config.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
 spring.cloud.nacos.discovery.server-addr=121.43.111.127:8848
 spring.cloud.nacos.discovery.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
+
+######################## 工单系统获取工单数据 ########################
+gdbaseurl=http://121.41.110.30:8112/
+
 ######################## 同步定时任务时间隔 ########################
 #师傅 证件、师傅、工单子表信息
 workercertificate=5000

+ 4 - 0
src/main/resources/bootstrap-prd.properties

@@ -138,6 +138,10 @@ spring.cloud.nacos.config.server-addr=121.43.111.127:8848
 spring.cloud.nacos.config.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
 spring.cloud.nacos.discovery.server-addr=121.43.111.127:8848
 spring.cloud.nacos.discovery.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
+
+######################## 工单系统获取工单数据 ########################
+gdbaseurl=http://121.41.110.30:8112/
+
 ######################## 同步定时任务时间隔 ########################
 #师傅 证件、师傅、工单子表信息
 workercertificate=5000

+ 4 - 0
src/main/resources/bootstrap-test.properties

@@ -161,6 +161,10 @@ spring.cloud.nacos.config.server-addr=121.43.111.127:8848
 spring.cloud.nacos.config.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
 spring.cloud.nacos.discovery.server-addr=121.43.111.127:8848
 spring.cloud.nacos.discovery.namespace=a47fcffb-6156-4ab1-8e0b-1c5839a9f839
+
+######################## 工单系统获取工单数据 ########################
+gdbaseurl=http://121.41.110.30:8112/
+
 ######################## 同步定时任务时间隔 ########################
 #师傅 证件、师傅、工单子表信息
 workercertificate=5000