|
@@ -84,7 +84,7 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
|
|
|
String downloadBatchNo = UUID.randomUUID().toString();
|
|
|
String id = "";
|
|
|
// 获取数据 这里的数据为数组,会有多个工单的情况
|
|
|
- data = downloadRepairDataGD();
|
|
|
+ data = downloadOrderFromGD("sync/repairorder");
|
|
|
id = data.getId();
|
|
|
datas = data.getData();
|
|
|
|
|
@@ -158,30 +158,31 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
|
|
|
String downloadBatchNo = UUID.randomUUID().toString();
|
|
|
String id = "";
|
|
|
// 获取数据 这里的数据为数组,会有多个工单的情况
|
|
|
- data = downloadInstallDataGD();
|
|
|
+ data = downloadOrderFromGD("sync/installorder");
|
|
|
id = data.getId();
|
|
|
datas = data.getData();
|
|
|
|
|
|
log.info("从工单系统获取安装工单下载了{}条数据",datas.size());
|
|
|
|
|
|
- for (int i = 0; i < datas.size(); i++) {
|
|
|
- JSONObject sheet = datas.getJSONObject(i);
|
|
|
- try{
|
|
|
- JSONObject mainTableData = sheet.getJSONObject("TBL_AZ_ASSIGN_LC_LS");
|
|
|
- if (mainTableData != null) {
|
|
|
+ try{
|
|
|
+ for (int i = 0; i < datas.size(); i++) {
|
|
|
+ JSONObject sheet = datas.getJSONObject(i);
|
|
|
+ JSONArray mainTableData = sheet.getJSONArray("TBL_AZ_ASSIGN_LC_LS");
|
|
|
+ if (mainTableData != null && mainTableData.size() > 0) {
|
|
|
String downloadTaskNo = UUID.randomUUID().toString();
|
|
|
- DataUtil.initLastModifiedDate(mainTableData,"lastModifiedDate");
|
|
|
+ DataUtil.initLastModifiedDate(mainTableData.getJSONObject(0),"lastModifiedDate");
|
|
|
addInstallData(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();
|
|
|
}
|
|
|
- }
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.info("安装工单下载失败:{}" ,ex);
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
log.info("安装工单同步下载状态");
|
|
|
// 同步下载状态,修改本地下载记录表状态 gree_stat_syn_status =1
|
|
@@ -194,91 +195,6 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
|
|
|
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void processRepairDownloadqx() throws Exception {
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- DownRepairOrderGD data = new DownRepairOrderGD();
|
|
|
- JSONArray datas = new JSONArray();
|
|
|
-
|
|
|
- if (1 == 1) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- try {
|
|
|
- ItfGreeToFaRepairSynRule synRule = itfGreeToFaRepairSynRuleService.lambdaQuery()
|
|
|
- .orderByAsc(ItfGreeToFaRepairSynRule::getId)
|
|
|
- .last("limit 1")
|
|
|
- .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();
|
|
|
- String id = "";
|
|
|
- // 获取数据 这里的数据为数组,会有多个工单的情况
|
|
|
- data = downloadRepairDataGD();
|
|
|
- id = data.getId();
|
|
|
- datas = data.getData();
|
|
|
-
|
|
|
- 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) {
|
|
|
- // 这里只同步维修工单中的 清洗保养工单 (从工单系统获取的维修工单一定有清洗保养工单)
|
|
|
- if (StringUtils.isEmpty(mainTableData.getString("xxlb")) ||
|
|
|
- !mainTableData.getString("xxlb").equals("清洗保养")){
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- String downloadTaskNo = UUID.randomUUID().toString();
|
|
|
- DataUtil.initLastModifiedDate(mainTableData,"last_modified_date");
|
|
|
- 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
|
|
|
- updateRepairStatus();
|
|
|
-
|
|
|
- log.info("维修工单下载完成");
|
|
|
- } catch (Exception ex) {
|
|
|
- log.error("从工单系统获取清洗保养工单失败", ex);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
private void updateInstallStatus() {
|
|
|
try {
|
|
|
List<Map<String, Object>> result = getNeedUpdateTaskData("itf_install_batch_download_gd_rec");
|
|
@@ -365,19 +281,17 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private DownRepairOrderGD downloadInstallDataGD() throws Exception {
|
|
|
- String id ="";
|
|
|
+ private DownRepairOrderGD downloadOrderFromGD(String api) throws Exception {
|
|
|
DownRepairOrderGD datas = new DownRepairOrderGD();
|
|
|
- String url = baseurl + "sync/installorder";
|
|
|
+ String url = baseurl + api;
|
|
|
JSONObject jsonResult = HttpUtil.httpRequestGetPgidGD(url, "GET", null);
|
|
|
-
|
|
|
String code = jsonResult.getString("code");
|
|
|
if ("200".equals(code)) {
|
|
|
- JSONArray data = jsonResult.getJSONArray("data");
|
|
|
- id =(String)jsonResult.getString("id");
|
|
|
+ String json = jsonResult.getString("data");
|
|
|
+ JSONObject jsona = JSONObject.parseObject(json);
|
|
|
+ String id = jsona.getString("id");
|
|
|
datas.setId(id);
|
|
|
- datas.setData(data);
|
|
|
-
|
|
|
+ datas.setData(jsona.getJSONArray("data"));
|
|
|
return datas;
|
|
|
} else {
|
|
|
String errorMessage = jsonResult.getString("message");
|
|
@@ -389,36 +303,13 @@ public class OrderDownloadGDServiceImpl implements OrderDownloadGDService {
|
|
|
|
|
|
}
|
|
|
|
|
|
- private DownRepairOrderGD downloadRepairDataGD() throws Exception {
|
|
|
- String id;
|
|
|
- DownRepairOrderGD datas = new DownRepairOrderGD();
|
|
|
- String url = baseurl + "sync/repairorder";
|
|
|
- JSONObject jsonResult = HttpUtil.httpRequestGetPgidGD(url, "GET", null);
|
|
|
-
|
|
|
- String code = jsonResult.getString("code");
|
|
|
- if ("200".equals(code)) {
|
|
|
- JSONArray data = jsonResult.getJSONArray("data");
|
|
|
- id =(String)jsonResult.getString("id");
|
|
|
- datas.setId(id);
|
|
|
- datas.setData(data);
|
|
|
-
|
|
|
- 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 addInstallData(JSONObject mainTableData, String downloadBatchNo, String downloadTaskNo, JSONObject sheet,
|
|
|
+ public void addInstallData(JSONArray mainTableData, String downloadBatchNo, String downloadTaskNo, JSONObject sheet,
|
|
|
String[] srcTabnameArray, String[] srcTabColListArray, String[] destTabNameArray,
|
|
|
String[] destTabColListArray, String salesWebsitNumber,String id) throws Exception {
|
|
|
// 查看同一时间同一工单是否存在下载记录表 存在不再保存本次的同步数据
|
|
|
- if (insertInstallRecData(mainTableData, downloadBatchNo, downloadTaskNo, salesWebsitNumber,id)) {
|
|
|
+ if (insertInstallRecData(mainTableData.getJSONObject(0), downloadBatchNo, downloadTaskNo, salesWebsitNumber,id)) {
|
|
|
parseInstallData(sheet, srcTabnameArray, srcTabColListArray, destTabNameArray, destTabColListArray, downloadTaskNo,
|
|
|
false, downloadBatchNo);
|
|
|
}
|