rev:外部系统交互

This commit is contained in:
zhangzq
2024-08-30 18:15:55 +08:00
parent 0e9a35adac
commit 83f9f311b7
5 changed files with 60 additions and 18 deletions

View File

@@ -39,11 +39,11 @@ public class InterationUtil {
.body(String.valueOf(param)) .body(String.valueOf(param))
.execute().body(); .execute().body();
JSONObject response = JSONObject.parseObject(resultMsg); JSONObject response = JSONObject.parseObject(resultMsg);
String status = response.getString("status"); log.info("ACS相应参数----------------------------------------+"+api+",---"+response.toString());
String status = response.getString("code");
if (!status.equals("200")){ if (!status.equals("200")){
throw new BadRequestException("acs申请任务失败"+response.getString("message")); throw new BadRequestException("acs申请任务失败"+response.getString("message"));
} }
log.info("ACS相应参数----------------------------------------+"+api+",---"+response.toString());
return response.toJavaObject(TableDataInfo.class); return response.toJavaObject(TableDataInfo.class);
} catch (Exception ex) { } catch (Exception ex) {
log.info("ACS反馈异常----------------------------------------+"+api+",---"+ex.getMessage()); log.info("ACS反馈异常----------------------------------------+"+api+",---"+ex.getMessage());

View File

@@ -201,7 +201,9 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
switch (type) { switch (type) {
case "ck": case "ck":
MdPbVehicleMater vehicleCode = iMdPbVehicleMaterService.getOne(new QueryWrapper<MdPbVehicleMater>().eq("vehicle_code", task.getVehicle_code())); MdPbVehicleMater vehicleCode = iMdPbVehicleMaterService.getOne(new QueryWrapper<MdPbVehicleMater>()
.eq("vehicle_code", task.getVehicle_code())
.eq("is_delete",false));
iActRuExecutionService.update(new UpdateWrapper<ActRuExecution>() iActRuExecutionService.update(new UpdateWrapper<ActRuExecution>()
.set("status", StatusEnum.FLOW_STATUS.code("异常完成")) .set("status", StatusEnum.FLOW_STATUS.code("异常完成"))
.set("remark", task.getVehicle_code() + "载具空出:货位" + struct_code) .set("remark", task.getVehicle_code() + "载具空出:货位" + struct_code)

View File

@@ -26,12 +26,20 @@ public interface IPmFormDataService extends IService<PmFormData> {
JSONObject mappingParse(JSONArray mappingJson, BmFormStruc one, JSONObject sourceData); JSONObject mappingParse(JSONArray mappingJson, BmFormStruc one, JSONObject sourceData);
List<JSONObject> mappingParseList(JSONArray mappingJson, BmFormStruc one, JSONObject sourceData);
List<PmFormData> getByType(String from_type); List<PmFormData> getByType(String from_type);
Object queryAll(FormDataQuery query, PageQuery page); Object queryAll(FormDataQuery query, PageQuery page);
List<PmFormDataDto> queryTree(FormDataQuery query, PageQuery page); List<PmFormDataDto> queryTree(FormDataQuery query, PageQuery page);
/**
* 一对多同步改成一对一同步
* @param formMapping
* @param sourceString
* @return
*/
List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString); List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString);
Object getSonDtlFormData(String id); Object getSonDtlFormData(String id);

View File

@@ -81,27 +81,26 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
if (StringUtils.isNotEmpty(one.getConvert_json())) { if (StringUtils.isNotEmpty(one.getConvert_json())) {
sourceData = sourceData.getJSONObject(one.getConvert_json()); sourceData = sourceData.getJSONObject(one.getConvert_json());
} }
JSONObject target = mappingParse(formMapping.getMapping_json(), one, sourceData); // JSONObject target = mappingParse(formMapping.getMapping_json(), one, sourceData);
Object items = target.remove("item"); // Object items = target.remove("item");
target.put("id", IdUtil.getStringId()); // target.put("id", IdUtil.getStringId());
target.put("code", CodeUtil.getNewCode(formMapping.getForm_type())); // target.put("code", CodeUtil.getNewCode(formMapping.getForm_type()));
target.put("create_time", DateUtil.now()); // target.put("create_time", DateUtil.now());
target.put("create_name", SecurityUtils.getCurrentNickName()); // target.put("create_name", SecurityUtils.getCurrentNickName());
PmFormData mst = target.toJavaObject(PmFormData.class); // PmFormData mst = target.toJavaObject(PmFormData.class);
result.add(mst); // result.add(mst);
if (items != null) { // if (items != null) {
JSONArray items_arr = (JSONArray) items; // JSONArray items_arr = (JSONArray) items;
List<JSONObject> items_arr = mappingParseList(formMapping.getMapping_json(), one, sourceData);
for (int i = 0; i < items_arr.size(); i++) { for (int i = 0; i < items_arr.size(); i++) {
JSONObject itemTarget = items_arr.getJSONObject(i); JSONObject itemTarget = items_arr.get(i);
itemTarget.put("id", IdUtil.getStringId()); itemTarget.put("id", IdUtil.getStringId());
// itemTarget.put("code", CodeUtil.getNewCode(formMapping.getForm_type())); itemTarget.put("code", CodeUtil.getNewCode(formMapping.getForm_type()));
itemTarget.put("create_time", DateUtil.now()); itemTarget.put("create_time", DateUtil.now());
itemTarget.put("create_name", SecurityUtils.getCurrentNickName()); itemTarget.put("create_name", SecurityUtils.getCurrentNickName());
itemTarget.put("parent_id", mst.getId());
PmFormData dtl = itemTarget.toJavaObject(PmFormData.class); PmFormData dtl = itemTarget.toJavaObject(PmFormData.class);
result.add(dtl); result.add(dtl);
} }
}
return result; return result;
} }
@@ -184,6 +183,39 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
} }
return data; return data;
} }
@Override
public List<JSONObject> mappingParseList(JSONArray mapping_json, BmFormStruc formStruc, JSONObject sourceData) {
if (CollectionUtils.isEmpty(sourceData)) {
throw new BadRequestException("当前业务数据为空");
}
//暂时只有两层
JSONArray mst_mapping_json = mapping_json.size() > 1 ? (JSONArray) mapping_json.remove(0) : mapping_json.getJSONArray(0);
Map<String, JSONObject> fieldMapping = mst_mapping_json.stream().collect(HashMap::new, (formMap, o) -> {
JSONObject item = (JSONObject) o;
formMap.put(item.getString("value"), item);
}, HashMap::putAll);
//基础字段
Set<String> fields = ListOf.ofSet(formStruc.getBiz_code(), formStruc.getBiz_id(), formStruc.getBiz_code(), formStruc.getBiz_status(), formStruc.getMaterial_id(), formStruc.getPcsn(), formStruc.getVehicle_code(), formStruc.getVehicle_id(),formStruc.getUnit_id(), formStruc.getQty());
JSONObject data = fieldMapping(fields, fieldMapping, sourceData);
data.put("form_type",formStruc.getForm_type());
List<JSONObject> items = new ArrayList<>();
JSONObject form_param = formStruc.getForm_param();
if (form_param != null) {
JSONObject form_data = fieldMapping(form_param.keySet(), fieldMapping, sourceData);
if (formStruc.getHas_child()) {
JSONArray sourceDtls = sourceData.getJSONArray(formStruc.getConvert_json());
for (int i = 0; i < sourceDtls.size(); i++) {
JSONObject item = fieldMapping(form_param.keySet(), fieldMapping, sourceDtls.getJSONObject(i));
item.putAll(form_data);
JSONObject itemData = new JSONObject(data);
itemData.put("form_data",item);
items.add(itemData);
}
}
}
return items;
}
public JSONObject fieldMapping(Set<String> fields, Map<String, JSONObject> fieldMapping, JSONObject sourceData) { public JSONObject fieldMapping(Set<String> fields, Map<String, JSONObject> fieldMapping, JSONObject sourceData) {
Map<String, String> SpelMap = new HashMap<>(); Map<String, String> SpelMap = new HashMap<>();

View File

@@ -7,7 +7,7 @@
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"dev2": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "dev2": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "vue-cli-service build", "build": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",