package com.example.expense.loan.service; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.example.expense.loan.dao.TestFormDao; import com.norteksoft.mms.form.entity.FormControl; import com.norteksoft.mms.form.entity.FormView; import com.norteksoft.mms.form.entity.View; import com.norteksoft.mms.form.service.FormViewManager; import com.norteksoft.mms.module.service.ModulePageManager; import com.norteksoft.product.api.entity.ListView; import com.norteksoft.product.orm.Page; @Service @Transactional public class TestFormManager { @Autowired private TestFormDao testFormDao; @Autowired private ModulePageManager modulePageManager; @Autowired private FormViewManager formViewManager; public Page<Object> list(Page<Object> page, ListView view) { if(StringUtils.isNotBlank(page.getOrderBy())){ if(!page.getOrderBy().startsWith("dt_") && !"id".equals(page.getOrderBy())){ page.setOrderBy("dt_"+page.getOrderBy()); } } testFormDao.list(page, view.getCode()); if(StringUtils.isNotBlank(page.getOrderBy())){ if(page.getOrderBy().startsWith("dt_")){ page.setOrderBy(page.getOrderBy().replaceFirst("dt_", "")); } } return page; } /** * 保存表单数据 */ @Transactional public Long save(Map<String,String[]> parameter){ FormView form = formViewManager.getCurrentFormViewByCodeAndVersion("capability_test", 1); return saveDate(parameter, form); } @Transactional public Long saveDate(Map<String,String[]> parameter, FormView form){ String[] ids = parameter.get("id"); List<FormControl> controls = formViewManager.getControls(form); Long id = null; if(ids != null && StringUtils.isNotBlank(ids[0])){ id = testFormDao.update(parameter, form, controls, Long.parseLong(ids[0])); }else{ id = testFormDao.save(parameter, form, controls); } return id; } /** * 根据ID,表单视图查询数据 * @param formView * @param id * @return */ @Transactional public Object getDateById(ListView formView, Long id){ return testFormDao.getDateById(formView.getDataTable().getName(), id); } }