package com.norteksoft.product.api.impl; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.norteksoft.mms.base.ExportDynamicColumnValues; import com.norteksoft.mms.base.MmsUtil; import com.norteksoft.mms.base.utils.view.DynamicColumnDefinition; import com.norteksoft.mms.base.utils.view.ExportData; import com.norteksoft.mms.base.utils.view.GridColumnInfo; import com.norteksoft.mms.form.entity.DataTable; import com.norteksoft.mms.form.service.DataTableManager; import com.norteksoft.mms.form.service.FormViewManager; import com.norteksoft.mms.form.service.ListViewManager; import com.norteksoft.mms.module.service.MenuManager; import com.norteksoft.product.api.MmsService; import com.norteksoft.product.api.entity.FormView; import com.norteksoft.product.api.entity.ListView; import com.norteksoft.product.api.entity.Menu; import com.norteksoft.product.api.utils.BeanUtil; import com.norteksoft.product.orm.Page; import com.norteksoft.product.util.ContextUtils; import com.norteksoft.wf.base.utils.WorkflowMemcachedUtil; @Service @Transactional public class MmsServiceImpl implements MmsService { @Autowired private ListViewManager listViewManager; @Autowired private FormViewManager formViewManager; @Autowired private DataTableManager dataTableManager; @Autowired private MenuManager menuManager; @Autowired private MmsUtil mmsUtil; public void deleteCustomListView(String code) { com.norteksoft.mms.form.entity.ListView view=listViewManager.getListViewByCode(code); if(view!=null)listViewManager.delete(view.getId()+""); } public List<Menu> getTopMenus(){ return BeanUtil.turnToModelMenuList(menuManager.getRootMenuByCompany()); } public Menu getTopMenu(String code){ return BeanUtil.turnToModelMenu(menuManager.getMenuByCode(code)); } public ExportData getDynamicColumnExportData(Page<?> page, ExportDynamicColumnValues exportDynamicColumnValues) { return mmsUtil.getDynamicColumnExportData(page, exportDynamicColumnValues); } public Map<String, DynamicColumnDefinition> getDynamicColumnName() { return mmsUtil.getDynamicColumnName(); } public ExportData getExportData(Page<?> page, String listCode) { return mmsUtil.getExportData(page, listCode); } public GridColumnInfo getGridColumnInfo(String code) { return mmsUtil.getGridColumnInfo(code); } public ListView getListViewByCode(String code) { return BeanUtil.turnToModelListView(mmsUtil.getListViewByCode(code)); } public List<ListView> getListViews(String... systemCodes) { return BeanUtil.turnToModelListViewList(mmsUtil.getListViews(systemCodes)); } public void saveColums(String code, String name, String tableName) { mmsUtil.saveColums(code, name, tableName); } public String getColumnsByCode(String code){ return mmsUtil.getColumnsByCode(code); } public String getExportColumnsByCode(String code){ return mmsUtil.getExportColumnsByCode(code); } @Deprecated public void saveView(com.norteksoft.mms.form.entity.ListView view) { listViewManager.saveListView(view); } public void saveView(ListView view) { listViewManager.saveListView(BeanUtil.turnToListView(view)); } public String[] getDynamicColumnNames(){ return mmsUtil.getDynamicColumnNames(); } public FormView getFormViewByCode(String code,Integer version) { return BeanUtil.turnToModelFormView(formViewManager.getCurrentFormViewByCodeAndVersion(code, version)); } public ListView getDefaultListViewByDataTable(String tableName) { DataTable table = dataTableManager.getDataTableByTableName(tableName); com.norteksoft.mms.form.entity.ListView view = listViewManager.getDefaultDisplay(table.getId()); List<com.norteksoft.mms.form.entity.ListView> views = listViewManager.getListViewByTabelId(table.getId()); if(view==null){ if(views.size()>0)view = views.get(0); } return BeanUtil.turnToModelListView(view); } public List<String> getSignatureFieldByFormViewCode(String code) { com.norteksoft.mms.form.entity.FormView view = formViewManager.getHighFormViewByCode(code); return getSignatureFields(view); } @Deprecated @SuppressWarnings("unchecked") private List<String> getSignatureFields(com.norteksoft.mms.form.entity.FormView view){ List<String> result = (List<String>)WorkflowMemcachedUtil.get(view.getCode()+"~"+view.getVersion()+"~"+view.getCompanyId()); if(result == null) result = formViewManager.getSignatureField(view); return result; } @SuppressWarnings("unchecked") private List<String> getSignatureFields(FormView view){ List<String> result = (List<String>)WorkflowMemcachedUtil.get(view.getCode()+"~"+view.getVersion()+"~"+view.getCompanyId()); if(result == null) result = formViewManager.getSignatureField(BeanUtil.turnToFormView(view)); return result; } public List<String> getSignatureFieldByFormViewCode(String code, Integer version) { com.norteksoft.mms.form.entity.FormView view = formViewManager.getFormViewByCodeAndVersion(ContextUtils.getCompanyId(), code, version); return getSignatureFields(view); } }