|
@@ -349,6 +349,9 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean submitBatch(WbsFormElementVO2 wbsFormElementVO2) {
|
|
|
+ if (StringUtils.isEmpty(wbsFormElementVO2.getInitTableName())) {
|
|
|
+ throw new ServiceException("未获取到实体表名称,操作失败");
|
|
|
+ }
|
|
|
//获取当前表所有元素
|
|
|
List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
|
|
|
.eq(WbsFormElement::getFId, wbsFormElementVO2.getId()));
|
|
@@ -484,76 +487,76 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
|
|
|
// 修改实体表字段信息
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void UpdateFormElement(TableInfo tableInfo,FormElementDTO2 formElementDTO) { //修改元素字段信息
|
|
|
- //获取当前wbs节点元素表信息
|
|
|
- if (tableInfo != null) {
|
|
|
- if (StringUtils.isNotEmpty(tableInfo.getTabEnName())) {
|
|
|
- //查询实体表是否存在
|
|
|
- WbsTree wbsTree = new WbsTree();
|
|
|
- wbsTree.setInitTableName(tableInfo.getTabEnName());
|
|
|
- Integer obj = baseMapper.showShowTabLike(wbsTree);
|
|
|
- if (obj != 1) {
|
|
|
- //不存在对应实体表的元素表不新增同步元素字段
|
|
|
- throw new ServiceException("实体信息表不存在");
|
|
|
- }
|
|
|
+ public void UpdateFormElement(TableInfo tableInfo, FormElementDTO2 formElementDTO) { //修改元素字段信息
|
|
|
+ //获取当前wbs节点元素表信息
|
|
|
+ if (tableInfo != null) {
|
|
|
+ if (StringUtils.isNotEmpty(tableInfo.getTabEnName())) {
|
|
|
+ //查询实体表是否存在
|
|
|
+ WbsTree wbsTree = new WbsTree();
|
|
|
+ wbsTree.setInitTableName(tableInfo.getTabEnName());
|
|
|
+ Integer obj = baseMapper.showShowTabLike(wbsTree);
|
|
|
+ if (obj != 1) {
|
|
|
+ //不存在对应实体表的元素表不新增同步元素字段
|
|
|
+ throw new ServiceException("实体信息表不存在");
|
|
|
+ }
|
|
|
|
|
|
- //获取表单下的元素信息
|
|
|
- List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
|
|
|
- .eq(WbsFormElement::getFId, tableInfo.getId()));
|
|
|
+ //获取表单下的元素信息
|
|
|
+ List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
|
|
|
+ .eq(WbsFormElement::getFId, tableInfo.getId()));
|
|
|
|
|
|
- WbsFormElement firstWbsFormElement;
|
|
|
- List<WbsFormElement> newList;
|
|
|
- //存在元素
|
|
|
- if (wbsFormElements.size() > 0) {
|
|
|
- Collections.reverse(wbsFormElements);
|
|
|
- firstWbsFormElement = wbsFormElements.stream().findFirst().orElse(wbsFormElements.get(wbsFormElements.size() - 1));
|
|
|
+ WbsFormElement firstWbsFormElement;
|
|
|
+ List<WbsFormElement> newList;
|
|
|
+ //存在元素
|
|
|
+ if (wbsFormElements.size() > 0) {
|
|
|
+ Collections.reverse(wbsFormElements);
|
|
|
+ firstWbsFormElement = wbsFormElements.stream().findFirst().orElse(wbsFormElements.get(wbsFormElements.size() - 1));
|
|
|
|
|
|
- //去重,元素表中名称已存在的元素不添加
|
|
|
- newList = formElementDTO.getElementList().stream().filter(a ->
|
|
|
- !wbsFormElements.stream().map(WbsFormElement::getEName).collect(Collectors.toList()).contains(a.getEName())
|
|
|
- ).collect(Collectors.toList());
|
|
|
+ //去重,元素表中名称已存在的元素不添加
|
|
|
+ newList = formElementDTO.getElementList().stream().filter(a ->
|
|
|
+ !wbsFormElements.stream().map(WbsFormElement::getEName).collect(Collectors.toList()).contains(a.getEName())
|
|
|
+ ).collect(Collectors.toList());
|
|
|
|
|
|
- } else {
|
|
|
- //不存在元素
|
|
|
- firstWbsFormElement = new WbsFormElement();
|
|
|
- firstWbsFormElement.setEKey("key_0");
|
|
|
- newList = formElementDTO.getElementList();
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ //不存在元素
|
|
|
+ firstWbsFormElement = new WbsFormElement();
|
|
|
+ firstWbsFormElement.setEKey("key_0");
|
|
|
+ newList = formElementDTO.getElementList();
|
|
|
+ }
|
|
|
|
|
|
- //初始化eKey字段
|
|
|
- int keyNumber = Integer.parseInt(firstWbsFormElement.getEKey().split("_")[1]);
|
|
|
- int newKeyNumber = keyNumber + 1;
|
|
|
- for (WbsFormElement wbsFormElementInfo : newList) {
|
|
|
- String key = "key_" + (newKeyNumber);
|
|
|
- //新增元素到当前表中
|
|
|
- wbsFormElementInfo.setEKey(key);
|
|
|
- wbsFormElementInfo.setId(SnowFlakeUtil.getId());
|
|
|
- wbsFormElementInfo.setFId(tableInfo.getId()+"");
|
|
|
- wbsFormElementInfo.setStatus(1);
|
|
|
- wbsFormElementInfo.setELength(Integer.parseInt(WbsElementUtil.setDefaultElementLength(wbsFormElementInfo.getEType())));
|
|
|
+ //初始化eKey字段
|
|
|
+ int keyNumber = Integer.parseInt(firstWbsFormElement.getEKey().split("_")[1]);
|
|
|
+ int newKeyNumber = keyNumber + 1;
|
|
|
+ for (WbsFormElement wbsFormElementInfo : newList) {
|
|
|
+ String key = "key_" + (newKeyNumber);
|
|
|
+ //新增元素到当前表中
|
|
|
+ wbsFormElementInfo.setEKey(key);
|
|
|
+ wbsFormElementInfo.setId(SnowFlakeUtil.getId());
|
|
|
+ wbsFormElementInfo.setFId(tableInfo.getId() + "");
|
|
|
+ wbsFormElementInfo.setStatus(1);
|
|
|
+ wbsFormElementInfo.setELength(Integer.parseInt(WbsElementUtil.setDefaultElementLength(wbsFormElementInfo.getEType())));
|
|
|
|
|
|
- baseMapper.insert(wbsFormElementInfo);
|
|
|
+ baseMapper.insert(wbsFormElementInfo);
|
|
|
|
|
|
- //String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
|
|
|
- //int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
|
|
|
+ //String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
|
|
|
+ //int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
|
|
|
|
|
|
- //判断是否存在该Key字段
|
|
|
- int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row1 == 0) {
|
|
|
- //追加字段到实体表中
|
|
|
- wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
- //判断是否追加成功
|
|
|
- int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row2 != 1) {
|
|
|
- //追加失败,删除元素,跳过
|
|
|
- baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
- continue;
|
|
|
- }
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row1 == 0) {
|
|
|
+ //追加字段到实体表中
|
|
|
+ wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
+ //判断是否追加成功
|
|
|
+ int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row2 != 1) {
|
|
|
+ //追加失败,删除元素,跳过
|
|
|
+ baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
+ continue;
|
|
|
}
|
|
|
- newKeyNumber++;
|
|
|
}
|
|
|
+ newKeyNumber++;
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -673,7 +676,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
String newTableName = "m_" + DateUtil.time() + "_" + SnowFlakeUtil.getId();
|
|
|
TableInfo tableInfo = tableInfoMapper.selectByTabEnName(formElementDTO.getNodeName());
|
|
|
boolean tabExit = true;
|
|
|
- if(tableInfo==null){
|
|
|
+ if (tableInfo == null) {
|
|
|
tableInfo = new TableInfo();
|
|
|
tableInfo.setTabType(formElementDTO.getTableType());
|
|
|
tableInfo.setTableOwner(formElementDTO.getTableOwner());
|
|
@@ -682,14 +685,14 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
tableInfo.setTabEnName(newTableName);
|
|
|
tableInfo.setIsDeleted(0);
|
|
|
tableInfoMapper.insert(tableInfo);
|
|
|
- tabExit=false;
|
|
|
- }else{
|
|
|
+ tabExit = false;
|
|
|
+ } else {
|
|
|
tableInfo.setTabType(formElementDTO.getTableType());
|
|
|
tableInfo.setTableOwner(formElementDTO.getTableOwner());
|
|
|
tableInfo.setFillRate(formElementDTO.getFillRate());
|
|
|
tableInfoMapper.updateById(tableInfo);
|
|
|
// 修改表结构
|
|
|
- this.UpdateFormElement(tableInfo,formElementDTO);
|
|
|
+ this.UpdateFormElement(tableInfo, formElementDTO);
|
|
|
}
|
|
|
|
|
|
formElementDTO.setInitTableName(tableInfo.getTabEnName());
|
|
@@ -698,7 +701,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
formElementDTO.setParentId(Long.valueOf(nodeId));
|
|
|
//创建元素表
|
|
|
boolean b = false;
|
|
|
- if(formElementDTO.getSubmitStatus()==2){
|
|
|
+ if (formElementDTO.getSubmitStatus() == 2) {
|
|
|
b = submit2(formElementDTO);
|
|
|
}
|
|
|
try {
|
|
@@ -724,7 +727,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
this.initTable(list, newTableName);
|
|
|
|
|
|
//绑定与清表关系
|
|
|
- if(formElementDTO.getSubmitStatus()==2){
|
|
|
+ if (formElementDTO.getSubmitStatus() == 2) {
|
|
|
baseMapper.insertWbsTabRelationExcelTab(SnowFlakeUtil.getId(), formElementDTO.getExcelTabId(), formElementDTO.getId());
|
|
|
}
|
|
|
}
|