Commit ed2fd9ca authored by 雍欢's avatar 雍欢

表单+流程完善

parent 914193e4
......@@ -5,11 +5,16 @@ import java.util.Map;
/**
* 通用业务单据状态
*
*
* @author gongmm
*/
public enum BizBillStatus {
APPLYING(0, "申请"), APPROVING(1, "审批中"), SUSPENDED(2, "已挂起"), COMPLETED(3, "已完成"), ARCHIVED(4, "已归档"), ABORTED(5, "已中止");
APPLYING(0, "申请"),
APPROVING(1, "审批中"),
SUSPENDED(2, "已挂起"),
COMPLETED(3, "已完成"),
ARCHIVED(4, "已归档"),
ABORTED(5, "已中止");
private int id;
......@@ -22,18 +27,18 @@ public enum BizBillStatus {
public static BizBillStatus fromId(int id) {
switch (id) {
case 0:
return APPLYING;
case 1:
return APPROVING;
case 2:
return SUSPENDED;
case 3:
return COMPLETED;
case 4:
return ARCHIVED;
case 5:
return ABORTED;
case 0:
return APPLYING;
case 1:
return APPROVING;
case 2:
return SUSPENDED;
case 3:
return COMPLETED;
case 4:
return ARCHIVED;
case 5:
return ABORTED;
}
throw new RuntimeException(String.format("无效的业务状态“%s”!", id));
}
......
......@@ -15,17 +15,19 @@ public interface ProcDefinitionRespository extends JpaRepository<ProcDefinition,
long countByParentId(String parentId);
List<ProcDefinition> findByParentId(String parentId);
@Query(name="procDefinition.findProc", value="from ProcDefinition o where o.procId = :procId and o.nodeKindId = 'proc'")
@Query(name = "procDefinition.findProc", value = "from ProcDefinition o where o.procId = :procId and o.nodeKindId = 'proc'")
ProcDefinition findProc(@Param("procId") String procId);
@Query(name="procDefinition.findProcUnit", value="from ProcDefinition o where o.procId = :procId and code = :procUnitId and o.nodeKindId = 'procUnit'")
ProcDefinition findProcUnit(@Param("procId") String procId, @Param("procUnitId") String procUnitId);
@Query(name="procDefinition.findOtherBindProcs", value="from ProcDefinition o where o.id != ?1 and o.procId = ?2 and o.nodeKindId = 'proc'")
@Query(name = "procDefinition.findProcUnit", value = "from ProcDefinition o where o.procId = :procId and code = :procUnitId and o.nodeKindId = 'procUnit'")
ProcDefinition findProcUnit(@Param("procId") String procId, @Param("procUnitId") String procUnitId);
@Query(name = "procDefinition.findOtherBindProcs", value = "from ProcDefinition o where o.id != ?1 and o.procId = ?2 and o.nodeKindId = 'proc'")
List<ProcDefinition> findOtherBindProcs(String id, String procId);
@Query(name="procDefinition.findProcUnitsForSequnce", value="from ProcDefinition o where o.procId = :procId and o.nodeKindId = 'procUnit' order by o.sequence")
@Query(name = "procDefinition.findProcUnitsForSequnce", value = "from ProcDefinition o where o.procId = :procId and o.nodeKindId = 'procUnit' order by o.sequence")
List<ProcDefinition> findProcUnitsForSequnce(@Param("procId") String procId);
@Query("select count(p) from ProcDefinition p where p.nodeKindId='proc' and p.formNo=?1")
long countByFormNo(String formNo);
}
package com.huigou.explorer.application;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.UserTask;
/**
* 用户任务formKey生成器。
*
* @author yonghuan
*/
public interface TaskFormKeyGenerator {
String generateFormKey(Process process, UserTask task, String fromNo);
}
package com.huigou.explorer.application.impl;
import com.huigou.explorer.application.TaskFormKeyGenerator;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.UserTask;
/**
* @author yonghuan
*/
public class DefaultTaskFormKeyGenerator implements TaskFormKeyGenerator {
private final String formUrl;
public DefaultTaskFormKeyGenerator(String formUrl) {
this.formUrl = formUrl;
}
@Override
public String generateFormKey(Process process, UserTask task, String fromNo) {
String formKey = formUrl + "?procId=" + process.getId() + "&formNo=" + fromNo;
return formKey;
}
}
......@@ -2,6 +2,7 @@ package com.huigou.explorer.application.impl;
import com.huigou.exception.ApplicationException;
import com.huigou.explorer.application.ModelApplication;
import com.huigou.explorer.application.TaskFormKeyGenerator;
import com.huigou.explorer.converters.WorkflowModeConverter;
import com.huigou.explorer.domain.model.Model;
import com.huigou.explorer.repository.ModelRepository;
......@@ -15,6 +16,8 @@ import com.mxgraph.util.mxXmlUtils;
import org.activiti.bpmn.converter.BpmnXMLConverter;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.bpmn.model.ExtensionAttribute;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;
......@@ -35,7 +38,7 @@ import org.w3c.dom.Document;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Collections;
/**
* @author yonghuan
......@@ -52,6 +55,7 @@ public class ModelApplicationImpl implements ModelApplication {
private RepositoryService repositoryService;
private String mxGraphXmlTemplate;
private BpmnXMLConverter bpmnXMLConverter;
private TaskFormKeyGenerator taskFormKeyGenerator;
@Autowired
public void setModelRepository(ModelRepository modelRepository) {
......@@ -88,6 +92,11 @@ public class ModelApplicationImpl implements ModelApplication {
this.bpmnXMLConverter = bpmnXMLConverter;
}
@Autowired
public void setTaskFormKeyGenerator(TaskFormKeyGenerator taskFormKeyGenerator) {
this.taskFormKeyGenerator = taskFormKeyGenerator;
}
@Transactional(rollbackFor = RuntimeException.class)
@Override
public Model save(Model model) {
......@@ -114,6 +123,26 @@ public class ModelApplicationImpl implements ModelApplication {
} catch (IOException e) {
throw new ApplicationException(e);
}
Process process = bpmnModel.getProcesses().get(0);
String formNo = process.getExtensionElements()
.getOrDefault("field", Collections.emptyList())
.stream()
.flatMap(field -> field.getAttributes().get("formNo").stream())
.findAny()
.map(ExtensionAttribute::getValue)
.orElse(null);
// 为流程定义绑定自定义表单编号
pd.setFormNo(formNo);
if (formNo != null) {
// 为用户任务设置自定义表单formKey
process.getFlowElements().stream()
.filter(fe -> fe instanceof UserTask)
.forEach(fe -> {
UserTask task = (UserTask) fe;
task.setFormKey(taskFormKeyGenerator.generateFormKey(process, task, formNo));
});
}
byte[] bpmnXml = bpmnXMLConverter.convertToXML(bpmnModel);
if (LOG.isInfoEnabled()) {
LOG.info(new String(bpmnXml, StandardCharsets.UTF_8));
......@@ -123,15 +152,7 @@ public class ModelApplicationImpl implements ModelApplication {
.deploy();
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
pd.setProcId(processDefinition.getKey());
// 为流程定义绑定自定义表单编号
bpmnModel.getProcesses().get(0)
.getExtensionElements()
.get("field")
.stream()
.flatMap(field -> field.getAttributes().get("formNo").stream())
.findAny()
.map(ExtensionAttribute::getValue)
.ifPresent(pd::setFormNo);
procDefinitionApplication.updateProcDefinition(pd);
// 自动导入流程环节
procDefinitionApplication.importProcUnits(pd.getId());
......@@ -161,24 +182,4 @@ public class ModelApplicationImpl implements ModelApplication {
}
return returnVal;
}
/**
* 导入流程环节的时候,自动为流程环节绑定
*/
@Transactional
@Around("execution(* com.huigou.uasp.bpm.managment.application.ProcDefinitionApplication.importProcUnits(..))")
protected Object onImportProcUnits(ProceedingJoinPoint pjp) throws Throwable {
Object returnVal = pjp.proceed(pjp.getArgs());
// 流程定义id
String parentId = (String) pjp.getArgs()[0];
List<ProcDefinition> procUnits = procDefinitionRespository.findByParentId(parentId);
if (procUnits.size() > 0) {
ProcDefinition pd = procDefinitionApplication.loadProcDefinition(parentId);
procUnits.forEach(procUnit -> {
procUnit.setFormNo(pd.getFormNo());
procDefinitionApplication.updateProcDefinition(procUnit);
});
}
return returnVal;
}
}
package com.huigou.uasp.builder;
import com.huigou.uasp.builder.vo.ParamFormVO;
import java.util.List;
import java.util.Map;
import com.huigou.uasp.builder.vo.ParamFormVO;
public interface BuildFilerInter {
String generateFile(ParamFormVO var1, List<Map<String, Object>> var2) throws Exception;
String generateFile(ParamFormVO paraForm,List<Map<String, Object>> fieldList) throws Exception;
}
package com.huigou.uasp.builder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.huigou.uasp.builder.filer.BuildApplicationFile;
import com.huigou.uasp.builder.filer.BuildControllerFile;
import com.huigou.uasp.builder.filer.BuildEntityFile;
......@@ -9,89 +12,73 @@ import com.huigou.uasp.builder.filer.BuildPageListFile;
import com.huigou.uasp.builder.filer.BuildQueryRequestFile;
import com.huigou.uasp.builder.filer.BuildRepositoryFile;
import com.huigou.uasp.builder.filer.BuildXMLFile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.huigou.uasp.util.Constant;
@Service("buildTypeClass")
public class BuildTypeClass {
@Autowired
private BuildApplicationFile buildApplicationFile;
@Autowired
private BuildControllerFile buildControllerFile;
@Autowired
private BuildEntityFile buildEntityFile;
@Autowired
private BuildPageDetailFile buildPageDetailFile;
@Autowired
private BuildPageJSFile buildPageJSFile;
@Autowired
private BuildPageListFile buildPageListFile;
@Autowired
private BuildQueryRequestFile buildQueryRequestFile;
@Autowired
private BuildRepositoryFile buildQueryRepositoryFile;
@Autowired
private BuildXMLFile buildXMLFile;
public BuildFilerInter getBuildClass(String buildType) {
BuildFilerInter result = null;
switch(buildType.hashCode()) {
case -1755807577:
if (buildType.equals("queryRequest")) {
result = this.buildQueryRequestFile;
return (BuildFilerInter)result;
}
break;
case -1298275357:
if (buildType.equals("entity")) {
result = this.buildEntityFile;
return (BuildFilerInter)result;
}
break;
case -995752936:
if (buildType.equals("pageJS")) {
result = this.buildPageJSFile;
return (BuildFilerInter)result;
}
break;
case 118807:
if (buildType.equals("xml")) {
result = this.buildXMLFile;
return (BuildFilerInter)result;
}
break;
case 637428636:
if (buildType.equals("controller")) {
result = this.buildControllerFile;
return (BuildFilerInter)result;
}
break;
case 843907008:
if (buildType.equals("pageDetail")) {
result = this.buildPageDetailFile;
return (BuildFilerInter)result;
}
break;
case 859219917:
if (buildType.equals("pageList")) {
result = this.buildPageListFile;
return (BuildFilerInter)result;
}
break;
case 1554253136:
if (buildType.equals("application")) {
result = this.buildApplicationFile;
return (BuildFilerInter)result;
}
break;
case 1950800714:
if (buildType.equals("repository")) {
result = this.buildQueryRepositoryFile;
return (BuildFilerInter)result;
}
}
result = null;
return (BuildFilerInter)result;
}
@Autowired
private BuildApplicationFile buildApplicationFile;
@Autowired
private BuildControllerFile buildControllerFile;
@Autowired
private BuildEntityFile buildEntityFile;
@Autowired
private BuildPageDetailFile buildPageDetailFile;
@Autowired
private BuildPageJSFile buildPageJSFile;
@Autowired
private BuildPageListFile buildPageListFile;
@Autowired
private BuildQueryRequestFile buildQueryRequestFile;
@Autowired
private BuildRepositoryFile buildQueryRepositoryFile;
@Autowired
private BuildXMLFile buildXMLFile;
/*
* 获取文件构建服务类名称
*/
public BuildFilerInter getBuildClass(String buildType) {
BuildFilerInter result = null;
switch (buildType) // 服务类型
{
case Constant.BUILD_APPLICATION:
result = buildApplicationFile;
break;
case Constant.BUILD_CONTROLLER:
result = buildControllerFile;
break;
case Constant.BUILD_ENTITY:
result = buildEntityFile;
break;
case Constant.BUILD_PAGEDETAIL:
result = buildPageDetailFile;
break;
case Constant.BUILD_PAGEJS:
result = buildPageJSFile;
break;
case Constant.BUILD_PAGELIST:
result = buildPageListFile;
break;
case Constant.BUILD_QUERYREQUEST:
result = buildQueryRequestFile;
break;
case Constant.BUILD_REPOSITORY:
result = buildQueryRepositoryFile;
break;
case Constant.BUILD_XML:
result = buildXMLFile;
break;
default:
result = null;
}
return result;
}
}
package com.huigou.uasp.builder;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import java.util.List;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
public interface ButtonTypeInter {
List<String> processOutResult(StringBuffer var1, ButtonAttributeVO var2);
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes);
}
package com.huigou.uasp.builder;
import com.huigou.uasp.builder.vo.FieldAttributeVO;
import java.util.List;
import com.huigou.uasp.builder.vo.FieldAttributeVO;
public interface FieldTagTypeInter {
List<String> processOutResult(StringBuffer var1, FieldAttributeVO var2);
public List<String> processOutResult(StringBuffer sb,FieldAttributeVO fieldAttributes);
}
package com.huigou.uasp.builder.filer;
import com.google.common.base.CaseFormat;
import com.huigou.uasp.builder.BuildFilerInter;
import com.huigou.uasp.builder.vo.ParamFormVO;
import com.huigou.uasp.util.Utils;
import java.io.File;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.common.base.CaseFormat;
import com.huigou.uasp.builder.BuildFilerInter;
import com.huigou.uasp.builder.vo.ParamFormVO;
import com.huigou.uasp.util.Utils;
@Service("buildRepositoryFile")
public class BuildRepositoryFile implements BuildFilerInter {
private ParamFormVO paraForm;
public String generateFile(ParamFormVO paraForm, List<Map<String, Object>> fieldList) throws Exception {
File file = new File(paraForm.getSrcPath() + "/repository");
if (!file.exists()) {
file.mkdir();
}
private ParamFormVO paraForm;
@Override
public String generateFile(ParamFormVO paraForm,List<Map<String, Object>> fieldList) throws Exception{
File file=new File(paraForm.getSrcPath()+"/repository");
if (!file.exists()){
file.mkdir();
}
//tableName=tableName.toLowerCase();
String clsName= CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL,paraForm.getTableName());
clsName=Utils.toUpperCaseFirstOne(clsName);
String entityName=clsName;
clsName+="Repository";
//String clsName=CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,tableName);
// Java 源代码
StringBuffer sb=new StringBuffer("");
sb.append("package ").append(paraForm.getPackageName()).append(".repository;\r\n ");
sb.append(" import org.springframework.data.jpa.repository.JpaRepository;\r\n");
sb.append(" import org.springframework.data.jpa.repository.Query;\r\n");
sb.append(" import java.util.List;\r\n");
sb.append(" import ").append(paraForm.getPackageName()).append(".domain.model.").append(entityName).append(";\r\n");
sb.append("\r\n");
sb.append("public interface "+clsName+" extends JpaRepository<").append(entityName).append(",String>{ \r\n ");
sb.append("/* 说明:\r\n ");
sb.append(" 1)、原生sql访问方式:\r\n");
sb.append(" @Query(value = \"SELECT PM.* FROM PM_MESSAGE PM WHERE PM.ID IN (SELECT PMR.MESSAGE_ID FROM PM_MESSAGE_RECEIVER PMR WHERE PMR.RECEIVER_ID = ?1)\",nativeQuery = true)\r\n");
sb.append(" List<Message> findById(String personId);\r\n");
sb.append(" 2)、HQL访问方式:\r\n");
sb.append(" @Query(\"from Propertyclass s where s.pmId=?1 and propertyClassid=?2 \") \r\n");
sb.append(" List <Propertyclass> searchPropertyClassDetails(String pmId,String classId);\r\n");
sb.append(" 3)、通过方法名称生成查询 (参见JPA访问数据库方式)\r\n ");
sb.append(" List <Message> findById(String id);\r\n");
sb.append(" @Modifying注解 \r\n");
sb.append(" @Query(\"UPDATE User u SET u.name = :name WHERE u.id = :id\")\r\n");
sb.append(" void updateTable(@Param(\"name\") String name, @Param(\"id\")Integer id);\r\n");
sb.append(" @Modifying注解 \r\n");
sb.append(" @Query(\"delete from User u WHERE u.id in :idList\") \r\n");
sb.append(" void deleteByIds(@Param(\"idList\")List<Integer> idList); \r\n");
sb.append(" */ \r\n");
sb.append(" \r\n");
sb.append(" List <").append(entityName).append("> findById(String id);\r\n");
sb.append("}");
String realPath=paraForm.getUploadPath()+"/"+paraForm.getPackageName().replaceAll("\\.","/");
realPath+="/repository/"+clsName+".java";
return Utils.generateJava(realPath, sb);
}
String clsName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, paraForm.getTableName());
clsName = Utils.toUpperCaseFirstOne(clsName);
String entityName = clsName;
clsName = clsName + "Repository";
StringBuffer sb = new StringBuffer("");
sb.append("package ").append(paraForm.getPackageName()).append(".repository;\r\n ");
sb.append("\timport org.springframework.data.jpa.repository.JpaRepository;\r\n");
sb.append("\timport org.springframework.data.jpa.repository.Query;\r\n");
sb.append(" import java.util.List;\r\n");
sb.append("\timport ").append(paraForm.getPackageName()).append(".domain.model.").append(entityName).append(";\r\n");
sb.append("\r\n");
sb.append("public interface " + clsName + " extends JpaRepository<").append(entityName).append(",String>{ \r\n ");
sb.append("/* 说明:\r\n ");
sb.append(" 1)、原生sql访问方式:\r\n");
sb.append(" @Query(value = \"SELECT PM.* FROM PM_MESSAGE PM WHERE PM.ID IN (SELECT PMR.MESSAGE_ID FROM PM_MESSAGE_RECEIVER PMR WHERE PMR.RECEIVER_ID = ?1)\",nativeQuery = true)\r\n");
sb.append(" List<Message> findById(String personId);\r\n");
sb.append(" 2)、HQL访问方式:\r\n");
sb.append(" @Query(\"from Propertyclass s where s.pmId=?1 and propertyClassid=?2 \") \r\n");
sb.append(" List <Propertyclass> searchPropertyClassDetails(String pmId,String classId);\r\n");
sb.append(" 3)、通过方法名称生成查询 (参见JPA访问数据库方式)\r\n ");
sb.append(" List <Message> findById(String id);\r\n");
sb.append(" @Modifying注解 \r\n");
sb.append(" @Query(\"UPDATE User u SET u.name = :name WHERE u.id = :id\")\r\n");
sb.append(" void updateTable(@Param(\"name\") String name, @Param(\"id\")Integer id);\r\n");
sb.append(" @Modifying注解 \r\n");
sb.append(" @Query(\"delete from User u WHERE u.id in :idList\") \r\n");
sb.append(" void deleteByIds(@Param(\"idList\")List<Integer> idList); \r\n");
sb.append(" */ \r\n");
sb.append(" \r\n");
sb.append(" List <").append(entityName).append("> findById(String id);\r\n");
sb.append("}");
String realPath = paraForm.getUploadPath() + "/" + paraForm.getPackageName().replaceAll("\\.", "/");
realPath = realPath + "/repository/" + clsName + ".java";
return Utils.generateJava(realPath, sb);
}
}
package com.huigou.uasp.builder.jsbutton;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Constant;
public class CustomButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttributes) {
List<String> list = new ArrayList();
sb.append(" function ").append(btnAttributes.getButtonMethoedName()).append("Handler(){");
sb.append(" } ");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes){
List <String> list=new ArrayList<String>();
//sb.append("//").append(btnAttributes.getButtonName()).append("方法").append(Constant.SYSMBOL_LINE);;
sb.append(" function ").append(btnAttributes.getButtonMethoedName()).append("Handler(){");
sb.append(" } ");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class DeleteButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttributes) {
List<String> list = new ArrayList();
sb.append(" function deleteHandler(){");
sb.append("\t var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
if (btnAttributes.getIsForm() == 1) {
sb.append("\t var action = '/dataManage/deleteDataRecord.ajax?formNo='+$(\"#formNo\").val();");
} else {
sb.append("\t var action = \"/").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("/delete").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("s.ajax\";");
}
sb.append("\t DataUtil.delSelectedRows({");
sb.append("\t action: action,");
sb.append("\t idFieldName: 'id',");
sb.append(" gridManager : ").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager,");
sb.append("\t onSuccess: ").append("reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid");
sb.append("\t });");
sb.append(" }");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes){
List <String> list=new ArrayList<String>();
// sb.append("//删除数据方法;");
sb.append(" function deleteHandler(){");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
if (btnAttributes.getIsForm()==1){ //是表单生成器
sb.append(" var action = '/dataManage/deleteDataRecord.ajax?formNo='+$(\"#formNo\").val();");
} else {
sb.append(" var action = \"/").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName()))
.append("/delete").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("s.ajax\";");
}
sb.append(" DataUtil.delSelectedRows({");
sb.append(" action: action,");
sb.append(" idFieldName: 'id',");
sb.append(" gridManager : ").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager,");
sb.append(" onSuccess: ").append("reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid");
sb.append(" });");
sb.append(" }");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.CaseFormat;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class DeleteRowButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttr) {
List<String> list = new ArrayList();
sb.append("function deleteRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("(){");
if (btnAttr.getIsForm() == 1) {
sb.append(" var url = '/dataManage/deleteDataRecordDetail.ajax").append("?maiTab=").append(btnAttr.getParentEntityName()).append("&subTab=").append(btnAttr.getEntityName()).append("&id='+$(\"#id\").val()");
sb.append(";");
} else {
sb.append(" var url = '/").append(btnAttr.getParentEntityName()).append("/deleteRow").append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax").append("?maiTab=").append(btnAttr.getParentEntityName()).append("&subTab=").append(btnAttr.getEntityName()).append("&modelId='+$(\"#modelId\").val()").append("+'&id='+$(\"#id\").val()");
sb.append(";");
}
sb.append(" var rows =").append(btnAttr.getEntityName()).append("GridManager.getSelectedRows();");
sb.append(" var ids='';").append("if (rows){").append("\t for(var i=0;i<rows.length;i++){").append(" if (rows[i].id==\"\"){").append(btnAttr.getEntityName()).append("GridManager.deleteRow(rows[i]);").append(" } else {").append(" if (rows[i].status==1) { Public.tip(\"").append("不能删除启用状态的数据!").append("\"); return false; }").append("\t ids+=rows[i].id;").append("\t ids+=',';}").append("\t }");
sb.append(" if (ids!=''){").append(" \t param={ids:ids};").append(" \t $('#").append(btnAttr.getParentEntityName()).append("Form').ajaxSubmit({ ").append(" \t url: web_app.name + (url),").append(" \t param:param, ").append(" \t success: function (data) {").append("\t refreshFlag = true;").append(" ").append(btnAttr.getEntityName()).append("GridManager.isDataChanged=false;").append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();").append("\t \t }").append("\t \t });").append("}").append("\t } else {").append("\t \t Public.tip(\"").append("请先选择明细数据!").append("\");").append("\t } ");
sb.append("\t}");
sb.append("\r\n");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttr){
List <String> list=new ArrayList<String>();
// sb.append(" //删除行数据方法").append(Constant.SYSMBOL_LINE);
sb.append("function deleteRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("(){");
// sb.append(" var url = \"").append(btnAttr.getEntityName()).append("/deleteMdmDataRecordDetail").append(".ajax\";");
if (btnAttr.getIsForm()==1){ //是表单生成器 则调用统一的添加方法
sb.append(" var url = '/dataManage/deleteDataRecordDetail.ajax")
// .append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax")
//.append("?maiTab=").append(btnAttr.getParentEntityName())
//.append("&subTab=").append(btnAttr.getEntityName())
.append("?maiTab=").append(btnAttr.getParentEntityName())
.append("&subTab=").append(btnAttr.getEntityName())
.append("&id='+"+"$(\"#id\").val()");
sb.append(";");
} else {
sb.append(" var url = '/").append(btnAttr.getParentEntityName()).append("/deleteRow")
.append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax")
.append("?maiTab=").append(btnAttr.getParentEntityName())
.append("&subTab=").append(btnAttr.getEntityName())
//.append("&modelId='+"+"$(\"#modelId\").val()")
.append("+'&id='+"+"$(\"#id\").val()");
sb.append(";");
}
sb.append(" var rows =").append(btnAttr.getEntityName()).append("GridManager.getSelectedRows();");
sb.append(" var ids='';")
.append("if (rows){")
.append(" for(var i=0;i<rows.length;i++){")
.append(" if (rows[i].id==\"\"){")
.append(btnAttr.getEntityName()).append("GridManager.deleteRow(rows[i]);")
.append(" } else {")
.append(" if (rows[i].status==1) { Public.tip(\"").append(Constant.NOT_DELETE_ENBABLE_DATA)
.append("\"); return false; }")
.append(" ids+=rows[i].id;")
.append(" ids+=',';}")
.append(" }");
sb.append(" if (ids!=''){")
.append(" param={ids:ids};")
.append(" $('#").append(btnAttr.getParentEntityName()).append("Form').ajaxSubmit({ ")
.append(" url: web_app.name + (url),")
.append(" param:param, ")
.append(" success: function (data) {")
.append(" refreshFlag = true;")
//避免明细表修改后删除后提示 数据已经改变,关闭后数据丢失的提示
.append(" ").append(btnAttr.getEntityName()).append("GridManager.isDataChanged=false;")
.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();")
.append(" }")
.append(" });").append("}")
.append(" } else {")
.append(" Public.tip(\"").append(Constant.SELECT_DETAIL_DATA).append("\");")
.append(" } ");
/* //删除单行
sb.append(" var row = UICtrl.checkSelectedRows(").append(btnAttr.getEntityName()).append("GridManager);");
sb.append(" DataUtil.del({");
sb.append(" action: url,");
sb.append(" idFieldName: 'id',");
sb.append(" gridManager: ").append(btnAttr.getEntityName()).append("GridManager,");
sb.append(" onSuccess: reload").append(btnAttr.getEntityName()).append("Grid ");
sb.append(" })");
*/
sb.append(" }");
sb.append(Constant.SYSMBOL_LINE);
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class DisableButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttributes) {
List<String> list = new ArrayList();
sb.append("//禁用方法 ").append("\r\n");
sb.append(" function disableHandler() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append("\t if(row.status==0){");
sb.append("\t\t Public.tip(\"").append(btnAttributes.getFormName()).append("已经禁用!").append("\");");
sb.append("\t\t return false;");
sb.append("\t }else{");
sb.append("\t\t changeStatus(row.id,0);");
sb.append("\t\t Public.successTip(\"").append(btnAttributes.getFormName()).append("禁用成功!").append("\");");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid();");
sb.append("\t }");
sb.append("\t}");
sb.append(" }");
sb.append(" ");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes){
List <String> list=new ArrayList<String>();
sb.append("//禁用方法 ").append(Constant.SYSMBOL_LINE);
sb.append(" function disableHandler() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append(" if(row.status==0){");
sb.append(" Public.tip(\"").append(btnAttributes.getFormName()).append(Constant.DISABLE_TIP).append("\");");
sb.append(" return false;");
sb.append(" }else{");
sb.append(" changeStatus(row.id,0);");
sb.append(" Public.successTip(\"").append(btnAttributes.getFormName()).append(Constant.DISABLE_SUCCESS).append("\");");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid();");
sb.append(" }");
sb.append(" }");
sb.append(" }");
sb.append(" ");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class DisableButtonRowResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttr) {
List<String> list = new ArrayList();
sb.append("//禁用方法 ").append("\r\n");
sb.append(" function disableRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttr.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append("\t if(row.status==0){");
sb.append("\t\t Public.tip(\"").append(btnAttr.getFormName()).append("已经禁用!").append("\");");
sb.append("\t\t return false;");
sb.append("\t }else{");
sb.append("\t\t changeRowStatus(row.id,0);");
sb.append("\t\t Public.successTip(\"").append(btnAttr.getFormName()).append("禁用成功!").append("\");");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();");
sb.append("\t }");
sb.append("\t}");
sb.append(" }");
sb.append(" ");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttr){
List <String> list=new ArrayList<String>();
sb.append("//禁用方法 ").append(Constant.SYSMBOL_LINE);
sb.append(" function disableRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttr.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append(" if(row.status==0){");
sb.append(" Public.tip(\"").append(btnAttr.getFormName()).append(Constant.DISABLE_TIP).append("\");");
sb.append(" return false;");
sb.append(" }else{");
sb.append(" changeRowStatus(row.id,0);");
sb.append(" Public.successTip(\"").append(btnAttr.getFormName()).append(Constant.DISABLE_SUCCESS).append("\");");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();");
sb.append(" }");
sb.append(" }");
sb.append(" }");
sb.append(" ");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class EnableButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttributes) {
List<String> list = new ArrayList();
sb.append("//启用方法 ").append("\r\n");
sb.append(" function enableHandler() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append("\t if(row.status==1){");
sb.append("\t\t Public.tip(\"").append(btnAttributes.getFormName()).append("已经启用!").append("\");");
sb.append("\t\t return false;");
sb.append("\t }else{");
sb.append("\t\t changeStatus(row.id,1);");
sb.append("\t\t Public.successTip(\"").append(btnAttributes.getFormName()).append("启用成功!").append("\");");
sb.append("\t }");
sb.append("\t}");
sb.append(" }");
sb.append(" ");
sb.append(" function changeStatus(id,status){");
sb.append("\t $.post(web_app.name").append("+\"/").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("/change").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Status.ajax\",{ id:id,status:status} ,function(data){");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid();");
sb.append("\t });");
sb.append("\t}");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes){
List <String> list=new ArrayList<String>();
sb.append("//启用方法 ").append(Constant.SYSMBOL_LINE);;
sb.append(" function enableHandler() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append(" if(row.status==1){");
sb.append(" Public.tip(\"").append(btnAttributes.getFormName()).append(Constant.ENBABLE_TIP).append("\");");
sb.append(" return false;");
sb.append(" }else{");
sb.append(" changeStatus(row.id,1);");
sb.append(" Public.successTip(\"").append(btnAttributes.getFormName()).append(Constant.ENBABLE_SUCCESS).append("\");");
sb.append(" }");
sb.append(" }");
sb.append(" }");
sb.append(" ");
sb.append(" function changeStatus(id,status){");
sb.append(" $.post(web_app.name").append("+\"/").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName()))
.append("/change").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Status.ajax\",{ id:id,status:status} ,function(data){");
//sb.append(" reloadGrid();");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttributes.getEntityName())).append("Grid();");
sb.append(" });");
sb.append(" }");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class EnableButtonRowResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttr) {
List<String> list = new ArrayList();
sb.append("//启用方法 ").append("\r\n");
sb.append(" function enableRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttr.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append("\t if(row.status==1){");
sb.append("\t\t Public.tip(\"").append(btnAttr.getFormName()).append("已经启用!").append("\");");
sb.append("\t\t return false;");
sb.append("\t }else{");
sb.append("\t\t changeRowStatus(row.id,1);");
sb.append("\t\t Public.successTip(\"").append(btnAttr.getFormName()).append("启用成功!").append("\");");
sb.append("\t }");
sb.append("\t}");
sb.append(" }");
sb.append(" ");
sb.append(" function changeRowStatus(id,status){");
if (btnAttr.getIsForm() == 1) {
sb.append("\t $.post(web_app.name").append("+\"/dataManage").append("/changeDataRecordDetailStatus.ajax\",{id:id,status:status");
} else {
sb.append("\t $.post(web_app.name").append("+\"/").append(btnAttr.getParentEntityName()).append("/changeDataRecordDetailStatus.ajax\",{id:id,status:status");
}
sb.append(",subTab:'").append(btnAttr.getEntityName()).append("'").append("} ,function(data){");
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();");
sb.append("\t });");
sb.append("\t}");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttr){
List <String> list=new ArrayList<String>();
sb.append("//启用方法 ").append(Constant.SYSMBOL_LINE);;
sb.append(" function enableRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("() {");
sb.append(" var row = UICtrl.checkSelectedRows(").append(Utils.toLowerCaseFirstOne(btnAttr.getEntityName())).append("GridManager);");
sb.append(" if(row){ ");
sb.append(" if(row.status==1){");
sb.append(" Public.tip(\"").append(btnAttr.getFormName()).append(Constant.ENBABLE_TIP).append("\");");
sb.append(" return false;");
sb.append(" }else{");
sb.append(" changeRowStatus(row.id,1);");
sb.append(" Public.successTip(\"").append(btnAttr.getFormName()).append(Constant.ENBABLE_SUCCESS).append("\");");
sb.append(" }");
sb.append(" }");
sb.append(" }");
sb.append(" ");
sb.append(" function changeRowStatus(id,status){");
if (btnAttr.getIsForm()==1){ //表单生成器
sb.append(" $.post(web_app.name").append("+\"/dataManage")
.append("/changeDataRecordDetailStatus.ajax\",{id:id,status:status");
} else {
sb.append(" $.post(web_app.name").append("+\"/").append(btnAttr.getParentEntityName())
.append("/changeDataRecordDetailStatus.ajax\",{id:id,status:status");
}
sb.append(",subTab:'").append(btnAttr.getEntityName()).append("'")
.append("} ,function(data){");
/*sb.append(" var url = '/").append(btnAttr.getParentEntityName()).append("/saveRow")
.append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax")
.append("?maiTab=").append(btnAttr.getParentEntityName())
.append("&subTab=").append(btnAttr.getEntityName())
.append("&modelId='+"+"$(\"#modelId\").val()")
.append("+'&id='+"+"$(\"#id\").val()");
sb.append(";");
*/
sb.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();");
sb.append(" });");
sb.append(" }");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class ExportExcelButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttributes) {
List<String> list = new ArrayList();
sb.append("//导出Excel ").append("\r\n");
sb.append(" function exportExcelHandler() {");
sb.append(" UICtrl.gridExport(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append("\t}");
list.add(sb.toString());
return list;
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttributes){
List <String> list=new ArrayList<String>();
sb.append("//导出Excel ").append(Constant.SYSMBOL_LINE);;
sb.append(" function exportExcelHandler() {");
sb.append(" UICtrl.gridExport(").append(Utils.toLowerCaseFirstOne(btnAttributes.getEntityName())).append("GridManager);");
sb.append(" }");
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
package com.huigou.uasp.builder.jsbutton;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.CaseFormat;
import com.huigou.uasp.builder.ButtonTypeInter;
import com.huigou.uasp.builder.vo.ButtonAttributeVO;
import com.huigou.uasp.util.Utils;
import java.util.ArrayList;
import java.util.List;
import com.huigou.uasp.util.Constant;
public class SaveRowButtonResult implements ButtonTypeInter {
public List<String> processOutResult(StringBuffer sb, ButtonAttributeVO btnAttr) {
List<String> list = new ArrayList();
sb.append("function saveRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("(mid){");
sb.append(" var _self = this; var id = getId();");
sb.append(" if (id=='') { Public.tip(\"").append("请先保存主表数据!").append("\");return false; } ");
sb.append(" var detailData = DataUtil.getGridData({ ");
sb.append(" \tisAllData : true,");
sb.append(" \tgridManager :").append(btnAttr.getEntityName()).append("GridManager");
sb.append(" \t});");
sb.append("\tvar param = false;");
sb.append("\tif(detailData && detailData instanceof Array && detailData.length >0){");
sb.append("\t\tparam={detailData:encodeURI($.toJSON(detailData))}; }else{ ");
sb.append("\t if (detailData==\"\"&&detailData!=false) { return true;");
sb.append("\t }else if (detailData==false) { return param;");
sb.append("\t } else {return param; }");
sb.append("\t } ");
if (btnAttr.getIsForm() == 1) {
sb.append(" var url = '/dataManage").append("/saveRowDataRecordDetail.ajax");
} else {
sb.append(" var url = '/").append(btnAttr.getParentEntityName()).append("/saveRow");
sb.append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax");
}
public List<String> processOutResult(StringBuffer sb,ButtonAttributeVO btnAttr){
List <String> list=new ArrayList<String>();
// sb.append(" //保存行数据方法 ").append(Constant.SYSMBOL_LINE);;
sb.append("function saveRow").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("(mid){");
sb.append(" var _self = this; var id = getId();");
//sb.append(" if (mid!=\"\") { id = mid; $(\"#id\").val(mid); }");
// sb.append(" if (id=='') { id=doCallFunc(eval(\"doSaveMdmDataRecord\"),[]); $(\"#id\").val(id); } " );
sb.append(" if (id=='') { Public.tip(\"").append(Constant.MUST_SAVE_MAIN_DATA).append("\");return false; } " );
// sb.append(" return false;");
// sb.append(" }");
sb.append(" var detailData = DataUtil.getGridData({ ");
sb.append(" isAllData : true,");
sb.append(" gridManager :").append(btnAttr.getEntityName()).append("GridManager");
sb.append(" });");
sb.append(" var param = false;");
sb.append(" if(detailData && detailData instanceof Array && detailData.length >0){");
sb.append(" param={detailData:encodeURI($.toJSON(detailData))}; }else{ ");
//sb.append(" if (mid==\"\") { Public.tip(\"").append(Constant.ADD_DETAIL_DATA).append("\");");
//sb.append(" } else { ");
sb.append(" if (detailData==\"\"&&detailData!=false) { return true;");
sb.append(" }else if (detailData==false) { return param;");
sb.append(" } else {return param; }");
sb.append(" } ");
if (btnAttr.getIsForm()==1){ //表单生成器
sb.append(" var url = '/dataManage").append("/saveRowDataRecordDetail.ajax");
} else { //代码生成器
sb.append(" var url = '/").append(btnAttr.getParentEntityName()).append("/saveRow");
sb.append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax");
}
sb.append("?maiTab=").append(btnAttr.getParentEntityName())
.append("&subTab=").append(btnAttr.getEntityName())
.append("&formId='+"+"$(\"#formId\").val()")
.append("+'&id='+"+"$(\"#id\").val()");
sb.append(";");
sb.append("?maiTab=").append(btnAttr.getParentEntityName()).append("&subTab=").append(btnAttr.getEntityName()).append("&formId='+$(\"#formId\").val()").append("+'&id='+$(\"#id\").val()");
sb.append(";");
sb.append(" $('#").append(btnAttr.getParentEntityName()).append("Form').ajaxSubmit({ ").append("\t url: web_app.name + (url),");
sb.append("\t param:param, ");
sb.append("\t success: function (data) {").append("\t refreshFlag = true;").append(" ").append(btnAttr.getEntityName()).append("GridManager.isDataChanged=false;").append(" if (data.result==\"success\") {\t ").append(" }").append("\t }").append("\t });").append(" return true;").append(" }");
sb.append("\r\n");
list.add(sb.toString());
return list;
}
//sb.append(" if (id && id.length > 0) ");
/*sb.append(" url ='/").append(btnAttr.getParentEntityName()).append("/updateRow")
.append(Utils.toUpperCaseFirstOne(btnAttr.getParentEntityName())).append("Detail.ajax")
.append("?maiTab=").append(btnAttr.getParentEntityName())
.append("&subTab=").append(btnAttr.getEntityName())
.append("&modelId='+"+"$(\"#modelId\").val()")
.append("+'&id='+"+"$(\"#id\").val()");
sb.append(";");
*/
sb.append(" $('#").append(btnAttr.getParentEntityName()).append("Form').ajaxSubmit({ ")
.append(" url: web_app.name + (url),");
sb.append(" param:param, ");
sb.append(" success: function (data) {")
//sb.append(" $(\"#id\").val(data); ");
.append(" refreshFlag = true;")
//避免明细表修改后保存后提示 数据已经改变,关闭后数据丢失的提示
.append(" ").append(btnAttr.getEntityName()).append("GridManager.isDataChanged=false;")
.append(" if (data.result==\"success\") { ")
//.append(" reload").append(Utils.toUpperCaseFirstOne(btnAttr.getEntityName())).append("Grid();")
.append(" }")
// sb.append(" _self.close();");
.append(" }")
.append(" });")
.append(" return true;")
.append(" }");
sb.append(Constant.SYSMBOL_LINE);
list.add(sb.toString());
// list.add(Integer.toString(fieldAttributes.getCurrCols()));
return list;
}
}
......@@ -2,14 +2,17 @@ package com.huigou.uasp.form.domain.query;
import com.huigou.data.domain.query.CodeAndNameQueryRequest;
public class ComonUtilQueryRequest extends CodeAndNameQueryRequest {
private String id;
public class ComonUtilQueryRequest extends CodeAndNameQueryRequest{
public String getId() {
return this.id;
}
private String id;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment