package com.skymobi.qc.admin.action;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.skymobi.qc.admin.dal.FieldsMapper;
import com.skymobi.qc.admin.dal.domain.CustomFields;
import com.skymobi.qc.admin.dal.domain.Layout;
import com.skymobi.qc.admin.framework.base.BaseBO;
public class FieldsBO extends BaseBO {
@Autowired
private ProjectBO projectBO;
@Autowired
private FieldsMapper fieldsMapper;
public List<CustomFields> customFieldList(int projectId) {
return fieldsMapper.customFieldsList(projectId);
}
public String customFieldAdd(CustomFields cf, int projectId) {
String msg = "";
//判断是否有重复
cf.setProject_id(projectId);
if (fieldsMapper.isHasFieldName(cf) > 0){
msg += "字段名称有重复";
return msg;
}
if (cf.getId() == 0) {
fieldsMapper.customFieldsAdd(cf);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("project", projectBO.getProjectByAttr("id", projectId));
map.put("field", cf);
Layout layout = getLayout(projectId);
//换行
if (layout.getCurrent_cols() == layout.getCols()){
cf.setLayout_rows(layout.getRows()+1);
cf.setLayout_cols(1);
}else{
cf.setLayout_rows(layout.getRows());
cf.setLayout_cols(layout.getCols()+1);
}
fieldsMapper.customFieldsAddProject(map);
} else {
fieldsMapper.customFieldsUpdate(cf);
}
return msg;
}
public void customfieldDestroy(int id) {
// 该字段是否有数据
fieldsMapper.customFieldDestroy(id);
}
public void customFieldsArchive(int id) {
fieldsMapper.customFieldsArchive(id);
}
public CustomFields getCustomFields(int id) {
return fieldsMapper.getCustomFields(id);
}
@Transactional
public void layoutNewItemSave(List<CustomFields> cf,int project_id){
for(CustomFields c:cf){
c.setProject_id(project_id);
fieldsMapper.customFieldsLayoutUpdate(c);
}
}
public Layout getLayout(int projectId){
Layout layout = fieldsMapper.getLayoutCols(projectId);
layout.setCols(2);
return layout;
}
}