diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java index a6761860..fd2a6b11 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java @@ -264,8 +264,8 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService map = new HashMap(); + //表明 类id(可能系统不一样类ID不一样) map.put("ar_recbill","ca162462-078f-46e8-af2d-05c4580c8af7"); map.put("ar_recitem","daa74132-56df-48c5-beba-b27b669ae088"); map.put("ar_gatherbill","53e7cc81-a016-4d64-973b-d61fd647c7a2"); @@ -468,7 +469,54 @@ public class temButtom { } - // + + @Test + public void sql() { + //字段长度 + String fileCD = "2000"; + Map map = new HashMap(); + + //表明 类id(可能系统不一样类ID不一样) + //类ID通过:SELECT CLASSID from md_ormap where TABLEID = 'ar_gatherbill' + map.put("cmp_paybill","419518ce-fdec-4869-b5f4-079e8ced2868"); + JSONArray jsonArray = new JSONArray(); + JSONObject js = new JSONObject(); + js.put("table","cmp_paybill");//表 + js.put("start",101);//自定义字段开始 生成语句包含这个数字的自定义项 + js.put("end",110);//自定义字段结束 生成语句包含这个数字的自定义项 + //通过sql查询获取 SELECT MAX(COLUMNSEQUENCE) from md_column where TABLEID = 'cmp_paybill' + js.put("maxpaixu",300);//最大排序 + jsonArray.add(js); + + StringBuffer sql = new StringBuffer(); + + for (int a = 0; a < jsonArray.size(); a++) { + sql.append("\n").append("\n").append("-- ").append(jsonArray.getJSONObject(a).getString("table")); + Integer start = jsonArray.getJSONObject(a).getInteger("start"); + Integer end = jsonArray.getJSONObject(a).getInteger("end"); + Integer maxpaixu = jsonArray.getJSONObject(a).getInteger("maxpaixu"); + String filedname1 = "def"; //新加字段名称 + String filedremark1 = "自定义项"; //字段备注名称 + String tablename = jsonArray.getJSONObject(a).getString("table"); //表名 + String CLASSID = map.get(tablename); //类名称 + for (Integer i = start; i <= end; i++) { + maxpaixu++; + String filedname = filedname1+i; //新加字段名称 + String filedremark = filedremark1+i; //字段备注名称 + String id = UUID.randomUUID().toString(); + StringBuffer createsql = new StringBuffer(); + createsql.append("alter table "+tablename+" add ("+filedname+" varchar2("+fileCD+"));"); + StringBuffer md_ormap = new StringBuffer(); + md_ormap.append("INSERT INTO md_ormap (\"ATTRIBUTEID\", \"CLASSID\", \"COLUMNID\", \"DR\", \"TABLEID\", \"TS\") VALUES ('"+id+"', '"+CLASSID+"', '"+tablename+"@@@"+filedname+"', NULL, '"+tablename+"', '2025-05-09 11:44:57');"); + StringBuffer md_column = new StringBuffer(); + md_column.append("INSERT INTO md_column (\"COLUMNLENGTH\", \"COLUMNSEQUENCE\", \"COLUMNTYPE\", \"CREATETIME\", \"CREATOR\", \"DEFAULTVALUE\", \"DESCRIPTION\", \"DISPLAYNAME\", \"DR\", \"FORLOCALE\", \"GROUPID\", \"HELP\", \"ID\", \"IDENTITIED\", \"INCREMENTSEED\", \"INCREMENTSTEP\", \"ISACTIVE\", \"MODIFIER\", \"MODIFYTIME\", \"NAME\", \"NULLABLE\", \"PKEY\", \"PRECISE\", \"RESID\", \"SQLDATETYPE\", \"TABLEID\", \"TS\", \"VERSIONTYPE\") VALUES ('"+fileCD+"', '"+maxpaixu+"', '0', NULL, NULL, NULL, NULL, '"+filedremark+"', NULL, 'N', NULL, NULL, '"+tablename+"@@@"+filedname+"', NULL, NULL, NULL, 'Y', NULL, NULL, '"+filedname+"', 'Y', 'N', '0', NULL, 'varchar', '"+tablename+"', '2025-05-09 11:44:57', '0');"); + StringBuffer md_property = new StringBuffer(); + md_property.append("INSERT INTO md_property (\"ACCESSORCLASSNAME\", \"ACCESSPOWER\", \"ACCESSPOWERGROUP\", \"ATTRLENGTH\", \"ATTRMAXVALUE\", \"ATTRMINVALUE\", \"ATTRSEQUENCE\", \"CALCULATION\", \"CLASSID\", \"CREATEINDUSTRY\", \"CREATETIME\", \"CREATOR\", \"CUSTOMATTR\", \"DATATYPE\", \"DATATYPESTYLE\", \"DEFAULTVALUE\", \"DESCRIPTION\", \"DISPLAYNAME\", \"DR\", \"DYNAMICATTR\", \"DYNAMICTABLE\", \"FIXEDLENGTH\", \"HELP\", \"HIDED\", \"ID\", \"INDUSTRY\", \"ISACTIVE\", \"ISAUTHEN\", \"MODIFIER\", \"MODIFYTIME\", \"NAME\", \"NOTSERIALIZE\", \"NULLABLE\", \"PRECISE\", \"READONLY\", \"REFMODELNAME\", \"RESID\", \"TS\", \"VERSIONTYPE\", \"VISIBILITY\") VALUES (NULL, 'N', NULL, '"+fileCD+"', NULL, NULL, '"+maxpaixu+"', 'N', '"+CLASSID+"', '0', NULL, NULL, 'Y', 'BS000010000100001056', '300', NULL, NULL, '"+filedremark+"', NULL, 'N', NULL, 'N', NULL, 'N', '"+id+"', '0', 'Y', NULL, NULL, NULL, '"+filedname+"', 'N', 'Y', '0', 'N', NULL, NULL, '2019-12-09 23:44:57', '0', '0');"); + sql.append("\n").append(createsql).append("\n").append(md_ormap).append("\n").append(md_column).append("\n").append(md_property).append("\n").append("\n"); + } + } + System.out.println(sql.toString()); + } //@Test //public void sql111() { //