package com.norteksoft.mms.form.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.norteksoft.mms.form.dao.TableColumnDao; import com.norteksoft.mms.form.entity.DataTable; import com.norteksoft.mms.form.entity.TableColumn; import com.norteksoft.product.util.ContextUtils; import com.norteksoft.product.util.JsonParser; @Service @Transactional(readOnly = true) public class TableColumnManager { private TableColumnDao tableColumnDao; @Autowired public void setTableColumnDao(TableColumnDao tableColumnDao) { this.tableColumnDao = tableColumnDao; } /** * 字段保存 * * @param tableColumn */ @Transactional(readOnly = false) public void saveColumn(TableColumn tableColumn, boolean canChange) { tableColumn.setCompanyId(ContextUtils.getCompanyId()); tableColumnDao.save(tableColumn); // if(!canChange && !tableColumn.getDataTable().getExistedTable()){ // jdbcDao.addTableColumn(tableColumn.getDataTable().getTableName(), tableColumn); // } } /** * 批量保存字段 * @param dataTable */ @Transactional(readOnly=false) public void saveTableColumns(DataTable dataTable){ List<Object> list=JsonParser.getFormTableDatas(TableColumn.class); for(Object obj:list){ TableColumn column=(TableColumn)obj; column.setCompanyId(ContextUtils.getCompanyId()); column.setDataTableId(dataTable.getId()); tableColumnDao.save(column); } } /** * 删除数据表字段 * @param columnId */ @Transactional(readOnly=false) public void deleteTableColumn(Long columnId){ TableColumn column=tableColumnDao.get(columnId); column.setDeleted(true); tableColumnDao.save(column); // tableColumnDao.delete(columnId); } /** * 彻底删除对应数据表所有的字段 * @param dataTableId */ @Transactional(readOnly=false) public void deleteAllTableColumns(Long dataTableId){ tableColumnDao.deleteAllTableColumns(dataTableId); } public TableColumn getTableColumnByColName(Long dataTableId,String columnName){ return tableColumnDao.getTableColumnByColName(dataTableId, columnName); } public List<TableColumn> getUnCompanyAllTableColumnByDataTableId(Long dataTableId){ return tableColumnDao.getUnCompanyAllTableColumnByDataTableId(dataTableId); } public List<TableColumn> getTableColumnByDataTableId(Long dataTableId){ return tableColumnDao.getTableColumnByDataTableId(dataTableId); } public List<TableColumn> getDeleteColumnByColumnName(String columnName,Long dataTableId) { return tableColumnDao.getDeleteColumnByColumnName(columnName,dataTableId); } }