@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult generate(String _id){
ActionResult result = new ActionResult();
try{
_Module record = (_Module) systemBaseDAO.findById(_Module.class, _id);
if(record.get_isenter() == 1 && record.get_classname().startsWith("GX")) {
boolean flag = DBUtils.checkTabelExist(record.get_classname());
if(flag) {//创建数据表
String createSql = ModuleUtils.getSql(record.get_classname());
DBUtils.createTable(createSql);
result.setSuccess(true);
record.set_generate_flag(1);
systemBaseDAO.attachDirty(record, null);
}
}
}catch(Exception e){
result.setSuccess(false);
result.setMsg(e.getMessage());
e.printStackTrace();
}
return result;
}
package auto.system.utils;
public class ModuleUtils {
public static void main(String[] args) {
System.out.println(getSql("GXA100"));
}
public static String getSql(String entity) {
StringBuffer createTableSql = new StringBuffer();
createTableSql.append("create table "+entity+"(\r\n");
createTableSql.append("\t_id nvarchar(32) primary key NOT NULL,\r\n");
createTableSql.append("\t_lot_id nvarchar(32) NOT NULL,\r\n");
createTableSql.append("\t_lrtime nvarchar(32) default '',\r\n");
createTableSql.append("\t_lrname nvarchar(32) default '',\r\n");
createTableSql.append("\t_tr int NOT NULL,\r\n");
createTableSql.append("\t_cc int default NULL,\r\n");
for(int i = 1;i <= 20;i++) {
createTableSql.append("\t_pt"+ i +" nvarchar(255) default '',\r\n");
}
for(int i = 1;i <= 60;i++) {
createTableSql.append("\t_ng"+ i +" int default 0,\r\n");
}
createTableSql.append("\t_hg int default NULL,\r\n");
createTableSql.append("\t_xxgs int default 0,\r\n");
createTableSql.append("\t_ycgs int default 0,\r\n");
createTableSql.append("\t_zyrs int default 0,\r\n");
createTableSql.append("\t_person nvarchar(255) default '',\r\n");
createTableSql.append("\t_stime nvarchar(255) default '',\r\n");
createTableSql.append("\t_etime nvarchar(255) default '',\r\n");
createTableSql.append("\t_inputflag nvarchar(5) default 'N',\r\n");
createTableSql.append("\t_remarks nvarchar(max) default '',\r\n");
createTableSql.append("\t_inputmen nvarchar(32) default '',\r\n");
createTableSql.append("\t_inputdate nvarchar(32) default ''\r\n");
createTableSql.append(")");
return createTableSql.toString();
}
}
@RequestMapping(value="/generate.do")
@ResponseBody
public ActionResult generate(HttpServletRequest request,String _id){
return moduleService.generate(_id);