add:单据同步
This commit is contained in:
@@ -4,7 +4,9 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.springframework.expression.Expression;
|
||||
import org.springframework.expression.spel.SpelEvaluationException;
|
||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
||||
|
||||
@@ -14,9 +16,11 @@ import java.util.Map;
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/13 16:23
|
||||
* 批量解析时如果有一个映射结果为null则会抛异常Cannot index into a null value:后续确认是否跳过
|
||||
*/
|
||||
public class SpelUtil {
|
||||
//SpelExpressionParser方法是否线程安全?
|
||||
|
||||
private static SpelExpressionParser SPEL_PARSER = new SpelExpressionParser();
|
||||
|
||||
public static void main(String[] args) {
|
||||
@@ -34,7 +38,7 @@ public class SpelUtil {
|
||||
model.put("FARRAY", FARRAY);
|
||||
FARRAY.add(MapOf.of("ARR1","子子子数字"));
|
||||
FARRAY.add(MapOf.of("ARR2","子子子数字2"));
|
||||
Map parse = SpelUtil.parse(source, MapOf.of("FID", "#M['FID']", "ARR1", "#M['Model']['FARRAY'][1]['ARR2']"));
|
||||
Map parse = SpelUtil.parse(source, MapOf.of("FID", "#M['FID']", "SSD", "#M['Model']['FDATA']","ARR1", "#M['Model']['FARRAY2'][1]['ARR2']"));
|
||||
System.out.println(parse.toString());
|
||||
/*
|
||||
{
|
||||
@@ -73,8 +77,13 @@ public class SpelUtil {
|
||||
for (String field : fieldSkip.keySet()) {
|
||||
String skip = fieldSkip.get(field);
|
||||
Expression expression = SpelUtil.SPEL_PARSER.parseExpression(skip);
|
||||
String value = expression.getValue(context, String.class);
|
||||
result.put(field,value);
|
||||
try {
|
||||
String value = expression.getValue(context, String.class);
|
||||
result.put(field,value);
|
||||
}catch (SpelEvaluationException ex){
|
||||
throw new BadRequestException("当前业务数据没有映射字段"+field+" 对应的数据"+skip);
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
@@ -41,14 +41,15 @@ import java.util.Map;
|
||||
@SaIgnore
|
||||
public class BmFormStrucController {
|
||||
|
||||
private static Map<String, String> BASE_FORM = MapOf.of("biz_id", "业务单据单据id"
|
||||
, "biz_code", "业务单据编号"
|
||||
, "biz_date", "业务单据日期"
|
||||
, "biz_status", "业务单据状态"
|
||||
, "material_id", "物料id"
|
||||
, "qty", "数量"
|
||||
, "unit_id", "单位"
|
||||
, "vehicle_code", "载具");
|
||||
private static Map<String,String> BASE_FORM = MapOf.of("biz_id","业务单据单据id"
|
||||
,"biz_code","业务单据编号"
|
||||
,"biz_date","业务单据日期"
|
||||
,"biz_status","业务单据状态"
|
||||
,"material_id","物料id"
|
||||
,"qty","数量"
|
||||
,"unit_id","单位"
|
||||
,"pcsn","批次"
|
||||
,"vehicle_code","载具");
|
||||
|
||||
@Autowired
|
||||
IBmFormStrucService iBmFormStrucService;
|
||||
@@ -56,15 +57,13 @@ public class BmFormStrucController {
|
||||
IPmFormDataService iPmFormDataService;
|
||||
|
||||
@GetMapping
|
||||
public ResponseEntity<Object> queryAll(FormStrucQuery query, PageQuery pageQuery) {
|
||||
//iBmFormStrucService.queryAll(query, pageQuery);
|
||||
public ResponseEntity<Object> queryAll(FormStrucQuery query, PageQuery pageQuery){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
//Page<BmFormStruc> page = iBmFormStrucService.page(pageQuery.build(), query.build());
|
||||
return new ResponseEntity<>(iBmFormStrucService.queryAll(query, pageQuery), HttpStatus.OK);
|
||||
Page<BmFormStruc> page = iBmFormStrucService.page(pageQuery.build(), query.build());
|
||||
return new ResponseEntity<>(TableDataInfo.build(page),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public ResponseEntity<Object> save(@RequestBody JSONObject param) {
|
||||
public ResponseEntity<Object> save(@RequestBody JSONObject param){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
BmFormStruc formStruc = param.toJavaObject(BmFormStruc.class);
|
||||
formStruc.setCreate_time(DateUtil.now());
|
||||
@@ -73,77 +72,76 @@ public class BmFormStrucController {
|
||||
iBmFormStrucService.save(formStruc);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/delete")
|
||||
public ResponseEntity<Object> delete(List<String> types) {
|
||||
public ResponseEntity<Object> delete(List<String> types){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
int dataCount = iPmFormDataService.count(new QueryWrapper<PmFormData>().in("form_type", types));
|
||||
if (dataCount > 0) {
|
||||
if (dataCount>0){
|
||||
throw new BadRequestException("当前表单存在业务数据,不允许删除");
|
||||
}
|
||||
iBmFormStrucService.remove(new QueryWrapper<BmFormStruc>().in("form_type", types));
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/getTypes")
|
||||
public ResponseEntity<Object> getTypes() {
|
||||
public ResponseEntity<Object> getTypes(){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
List<Map<String, Object>> select = iBmFormStrucService.listMaps(new QueryWrapper<BmFormStruc>().select("form_type", "form_name").groupBy("form_type"));
|
||||
List<Map> list = new ArrayList<>();
|
||||
for (Map<String, Object> map : select) {
|
||||
list.add(MapOf.of("lable", map.get("form_name"), "value", map.get("form_type")));
|
||||
list.add(MapOf.of("lable",map.get("form_name"),"value",map.get("form_type")));
|
||||
}
|
||||
return new ResponseEntity<>(list, HttpStatus.OK);
|
||||
return new ResponseEntity<>(list,HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ONLY:动态表单表头信息 数据结构:{"type":xxx,"name":xxx,"desc":xxx,"item":{"desc":"描述"}}
|
||||
* @ONLY:动态表单表头信息
|
||||
* 数据结构:{"type":xxx,"name":xxx,"desc":xxx,"item":{"desc":"描述"}}
|
||||
*/
|
||||
@GetMapping("/formColumns/{form_type}")
|
||||
public ResponseEntity<Object> formColumns(@PathVariable String form_type) {
|
||||
public ResponseEntity<Object> formColumns(@PathVariable String form_type){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
List<Map> items = new ArrayList<>();
|
||||
BmFormStruc form_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
|
||||
if (form_struc != null) {
|
||||
if (form_struc!=null){
|
||||
JSONObject form_param = form_struc.getForm_param();
|
||||
for (String key : form_param.keySet()) {
|
||||
items.add(MapOf.of("lable", form_param.get(key), "value", key));
|
||||
items.add(MapOf.of("lable",form_param.get(key),"value",key));
|
||||
}
|
||||
}
|
||||
return new ResponseEntity<>(items, HttpStatus.OK);
|
||||
return new ResponseEntity<>(items,HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ONLY:只用于获取表单同步配置接口
|
||||
* @param form_type
|
||||
* @return
|
||||
* @ONLY:只用于获取表单同步配置接口
|
||||
*/
|
||||
@GetMapping("/tableColumns/{form_type}")
|
||||
public ResponseEntity<Object> tableColumns(@PathVariable String form_type) {
|
||||
public ResponseEntity<Object> tableColumns(@PathVariable String form_type){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
BmFormStruc form_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
|
||||
HashMap result = MapOf.of("has_child", form_struc.getHas_child(), "form_type", form_struc.getForm_type(), "form_name", form_struc.getForm_name(), "form_desc", form_struc.getForm_desc());
|
||||
HashMap result = MapOf.of("has_child",form_struc.getHas_child(),"form_type", form_struc.getForm_type(), "form_name", form_struc.getForm_name(), "form_desc", form_struc.getForm_desc());
|
||||
JSONObject form_param = form_struc.getForm_param();
|
||||
form_param.putAll(BASE_FORM);
|
||||
List<Map> items = new ArrayList<>();
|
||||
for (String key : form_param.keySet()) {
|
||||
items.add(MapOf.of("lable", form_param.get(key), "value", key));
|
||||
items.add(MapOf.of("lable",form_param.get(key),"value",key));
|
||||
}
|
||||
if (form_struc.getHas_child()) {
|
||||
if (form_struc.getHas_child()){
|
||||
List<Map> dtl_items = new ArrayList<>();
|
||||
|
||||
BmFormStruc child_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", form_struc.getForm_type()));
|
||||
if (child_struc != null) {
|
||||
JSONObject child_param = child_struc.getForm_param();
|
||||
child_param.putAll(BASE_FORM);
|
||||
for (String key : child_param.keySet()) {
|
||||
dtl_items.add(MapOf.of("lable", form_param.get(key), "value", key));
|
||||
}
|
||||
result.put("dtl_item", dtl_items);
|
||||
BmFormStruc child_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", form_struc.getId()));
|
||||
if (child_struc == null){
|
||||
throw new BadRequestException("当前表单配置异常:无子表配置信息");
|
||||
}
|
||||
JSONObject child_param = child_struc.getForm_param();
|
||||
child_param.putAll(BASE_FORM);
|
||||
for (String key : child_param.keySet()) {
|
||||
dtl_items.add(MapOf.of("lable",child_param.get(key),"value",key));
|
||||
}
|
||||
result.put("dtl_item",dtl_items);
|
||||
}
|
||||
result.put("item", items);
|
||||
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||
result.put("item",items);
|
||||
return new ResponseEntity<>(result,HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
package org.nl.wms.pm_manage.form_data.controller;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService;
|
||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery;
|
||||
import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package org.nl.wms.pm_manage.form_data.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.utils.ListOf;
|
||||
import org.nl.common.utils.SpelUtil;
|
||||
import org.nl.common.utils.*;
|
||||
import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
@@ -20,8 +21,6 @@ import org.springframework.util.Assert;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -52,71 +51,91 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
|
||||
@Override
|
||||
public Integer syncFormData(String form_type, String dataString) {
|
||||
SyncFormMapping syncFormMapping = iSyncFormMappingService.getOne(new QueryWrapper<SyncFormMapping>().eq("form_type", form_type));
|
||||
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", form_type));
|
||||
Assert.notNull(one,"当前单据类型未定义"+form_type);
|
||||
List<PmFormData> saves = new ArrayList<>();
|
||||
//TODO: 查询同步配置表:获取表单的同步处理:SourceDataTypeHandler:分为字段映射跟class类处理,脚本处理
|
||||
PmFormData formData = new PmFormData();
|
||||
saves.add(formData);
|
||||
if (one.getHas_child()){
|
||||
BmFormStruc item = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", one.getId()));
|
||||
String[] split = dataString.split(",");
|
||||
for (String itemData : split) {
|
||||
// PmFormData itemForm = SourceDataTypeHandlerMap.get(form_type).sourceHandler(itemData, syncFormMapping);
|
||||
PmFormData itemForm=new PmFormData();
|
||||
itemForm.setParent_id(formData.getId());
|
||||
saves.add(itemForm);
|
||||
}
|
||||
if (StringUtils.isEmpty(form_type)||StringUtils.isEmpty(dataString)){
|
||||
throw new BadRequestException("请求参数不能为空");
|
||||
}
|
||||
this.saveBatch(saves);
|
||||
return saves.size();
|
||||
SyncFormMapping syncFormMapping = iSyncFormMappingService.getOne(new QueryWrapper<SyncFormMapping>().eq("form_type", form_type));
|
||||
if (syncFormMapping == null){
|
||||
throw new BadRequestException("当前表单无同步配置信息");
|
||||
}
|
||||
List<PmFormData> pmFormDatas = this.syncAnalyse(syncFormMapping, dataString);
|
||||
this.saveBatch(pmFormDatas);
|
||||
return pmFormDatas.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String dataString) {
|
||||
public List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString) {
|
||||
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", formMapping.getForm_type()));
|
||||
//目标数据
|
||||
JSONObject dataJson = JSONObject.parseObject(dataString);
|
||||
if (StringUtils.isNotEmpty(one.getConvert_json())){
|
||||
dataJson = dataJson.getJSONObject(one.getConvert_json());
|
||||
if (one==null){
|
||||
throw new BadRequestException("当前表单无配置信息"+formMapping.getForm_type());
|
||||
}
|
||||
Map<String, JSONObject> itemMapping = formMapping.getMapping_json().stream().collect(HashMap::new, (formMap, o) -> {
|
||||
List<PmFormData> result = new ArrayList<>();
|
||||
JSONObject sourceData = JSONObject.parseObject(sourceString);
|
||||
if (StringUtils.isNotEmpty(one.getConvert_json())){
|
||||
sourceData = sourceData.getJSONObject(one.getConvert_json());
|
||||
}
|
||||
JSONObject target = mappingParse(formMapping.getMapping_json(), one,sourceData );
|
||||
Object items = target.remove("item");
|
||||
target.put("id", IdUtil.getStringId());
|
||||
target.put("code", CodeUtil.getNewCode(formMapping.getForm_type()));
|
||||
target.put("create_time", DateUtil.now());
|
||||
target.put("create_name", SecurityUtils.getCurrentNickName());
|
||||
PmFormData mst = target.toJavaObject(PmFormData.class);
|
||||
result.add(mst);
|
||||
if (items!=null){
|
||||
JSONArray items_arr = (JSONArray) items;
|
||||
for (int i = 0; i < items_arr.size(); i++) {
|
||||
JSONObject itemTarget = items_arr.getJSONObject(i);
|
||||
itemTarget.put("id", IdUtil.getStringId());
|
||||
itemTarget.put("code", CodeUtil.getNewCode(formMapping.getForm_type()));
|
||||
itemTarget.put("create_time", DateUtil.now());
|
||||
itemTarget.put("create_name", SecurityUtils.getCurrentNickName());
|
||||
itemTarget.put("parent_id",mst.getId());
|
||||
PmFormData dtl = itemTarget.toJavaObject(PmFormData.class);
|
||||
result.add(dtl);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONObject mappingParse(JSONArray mapping_json, BmFormStruc formStruc, JSONObject sourceData){
|
||||
|
||||
if (CollectionUtils.isEmpty(sourceData)){
|
||||
throw new BadRequestException("当前业务数据为空");
|
||||
}
|
||||
//暂时只有两层
|
||||
JSONArray mst_mapping_json = (JSONArray)mapping_json.remove(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(one.getBiz_code()
|
||||
, one.getBiz_id()
|
||||
, one.getBiz_code()
|
||||
, one.getBiz_status()
|
||||
, one.getMaterial_id()
|
||||
, one.getPcsn()
|
||||
, one.getVehicle_code()
|
||||
, one.getUnit_id()
|
||||
, one.getQty());
|
||||
//查询目标表字段
|
||||
JSONObject returnObj = new JSONObject();
|
||||
//基础字段映射:如果只有一个就不迭代
|
||||
Map<String, String> map = new HashMap<>();
|
||||
JSONObject targetData = mappingParse(fields, itemMapping, dataJson);
|
||||
//查询表单配置表,获取自定义json:自定义字段参数获取
|
||||
JSONObject form_param = one.getForm_param();
|
||||
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.getUnit_id(), formStruc.getQty());
|
||||
JSONObject data = fieldMapping(fields, fieldMapping, sourceData);
|
||||
|
||||
JSONObject form_param = formStruc.getForm_param();
|
||||
if (form_param!=null){
|
||||
JSONObject form_data = mappingParse(form_param.keySet(), itemMapping, dataJson);
|
||||
targetData.put("form_data",form_data);
|
||||
JSONObject form_data = fieldMapping(form_param.keySet(), fieldMapping, sourceData);
|
||||
data.put("form_data",form_data);
|
||||
}
|
||||
return null;
|
||||
if (formStruc.getHas_child()){
|
||||
BmFormStruc itemStruc = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id", formStruc.getId()));
|
||||
JSONArray sourceDtls = sourceData.getJSONArray(itemStruc.getConvert_json());
|
||||
|
||||
JSONArray dtls = new JSONArray();
|
||||
for (int i = 0; i < sourceDtls.size(); i++) {
|
||||
dtls.add(this.mappingParse(mapping_json, itemStruc, sourceDtls.getJSONObject(i)));
|
||||
}
|
||||
data.put("item",dtls);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private JSONObject mappingParse(Set<String> fields,Map<String, JSONObject> itemMapping,JSONObject sourceData){
|
||||
private JSONObject fieldMapping(Set<String> fields, Map<String, JSONObject> fieldMapping, JSONObject sourceData){
|
||||
Map<String, String> SpelMap = new HashMap<>();
|
||||
JSONObject data = new JSONObject();
|
||||
for (String field : fields) {
|
||||
if (StringUtils.isNotEmpty(field)){
|
||||
JSONObject itemMappingConfig = itemMapping.get(field);
|
||||
JSONObject itemMappingConfig = fieldMapping.get(field);
|
||||
if (itemMappingConfig == null){
|
||||
throw new BadRequestException(String.format("当前表单没有配置字段:%s 映射", new String[]{field}));
|
||||
}
|
||||
@@ -126,12 +145,12 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
}else {
|
||||
data.put(field,sourceData.getString(itemMappingConfig.getString("mapping_field")));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(SpelMap)){
|
||||
Map<String, String> parse = SpelUtil.parse(sourceData, SpelMap);
|
||||
data.putAll(parse);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(SpelMap)){
|
||||
Map<String, String> parse = SpelUtil.parse(sourceData, SpelMap);
|
||||
data.putAll(parse);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.utils.FileUtil;
|
||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
import org.nl.wms.sync_manage.service.field_mapping.dto.MappingQuery;
|
||||
import org.nl.wms.sync_manage.service.form_mapping.ISyncFormMappingService;
|
||||
import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping;
|
||||
@@ -22,6 +24,7 @@ import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -44,9 +47,9 @@ public class SyncFormMappingController {
|
||||
|
||||
|
||||
@Autowired
|
||||
ISyncFormMappingService iSyncFormMappingService;
|
||||
private ISyncFormMappingService iSyncFormMappingService;
|
||||
@Autowired
|
||||
IPmFormDataService formDataService;
|
||||
private IPmFormDataService formDataService;
|
||||
|
||||
public static void main(String[] args) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
@@ -81,12 +84,16 @@ public class SyncFormMappingController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/syncData")
|
||||
public ResponseEntity<Object> syncData(@RequestBody JSONObject syncFormMapping) {
|
||||
SyncFormMapping mapping = syncFormMapping.toJavaObject(SyncFormMapping.class);
|
||||
String data = FileUtil.readString("/Users/mima0000/Desktop/formdata.txt", "UTF_8");
|
||||
formDataService.syncFormData(mapping.getForm_type(),data);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
|
||||
@PostMapping("/syncAnalyse")
|
||||
public ResponseEntity<Object> syncAnalyse(@RequestBody JSONObject form){
|
||||
//参数判读,参数解析,调用参数入库
|
||||
Object analyseData = form.remove("analyseData");
|
||||
if (analyseData == null){
|
||||
throw new BadRequestException("解析数据不能为空");
|
||||
}
|
||||
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(form.toJavaObject(SyncFormMapping.class), (String) analyseData);
|
||||
return new ResponseEntity<>(TableDataInfo.build(pmFormDatas),HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -61,6 +61,13 @@ export function syncData(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
export function syncAnalyse(data) {
|
||||
return request({
|
||||
url: 'api/syncFormMapping/syncAnalyse',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
add,
|
||||
@@ -70,5 +77,6 @@ export default {
|
||||
updateRows,
|
||||
getAllTableName,
|
||||
tableColumns,
|
||||
syncData
|
||||
syncData,
|
||||
syncAnalyse
|
||||
}
|
||||
|
||||
@@ -133,18 +133,18 @@
|
||||
title="表单同步测试"
|
||||
:visible.sync=syncShow
|
||||
width="600px"
|
||||
@close="syncTestCannel"
|
||||
@close="syncAnalyseCannel"
|
||||
>
|
||||
<el-form ref="form" :model="syncForm" :rules="rules" size="mini" label-width="50px">
|
||||
<el-form-item label="表单:" prop="occupystruct_qty">
|
||||
<el-input disabled v-model="syncForm.form_name" :precision="0" style="width: 150px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="测试数据" prop="testData">
|
||||
<el-input type="textarea" v-model="syncForm.testData" :precision="0" style="width: 450px;" />
|
||||
<el-form-item label="测试数据" prop="analyseData">
|
||||
<el-input type="textarea" v-model="syncForm.analyseData" :precision="0" style="width: 450px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="syncTestSubmit">同步</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="syncAnalyseSubmit">同步解析</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -295,10 +295,12 @@ export default {
|
||||
this.syncShow = true
|
||||
this.syncForm = row
|
||||
},
|
||||
syncTestSubmit(){
|
||||
this.crud.notify('操作成功'+row.form_type, CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
syncAnalyseSubmit(){
|
||||
crudFormMapping.syncAnalyse(this.syncForm).then(res => {
|
||||
this.crud.notify('解析成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
},
|
||||
syncTestCannel(){
|
||||
syncAnalyseCannel(){
|
||||
this.syncForm = {}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user