package Tools.ZhengZhou103; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jfinal.kit.Kv; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; import java.sql.*; public class AddWenNum { //下面的工作流定义没有用到,但是结合工作界面才能读懂是什么意思 //select * from t_intellioa_flow_define where flow_name='0105改-收文登记流程'; -- flow_id = 68 工作流id /** * 添加Form * * @param wenHao 文号 * @return */ public static Kv addForm(String wenHao) { int form_id = 36; //1、修改form下的json数据 String sql = "select form_id,form_json from t_intellioa_flow_form where form_id=?"; String form_json = Db.findFirst(sql, form_id).getStr("form_json"); JSONObject jo = JSONObject.parseObject(form_json); int id = 0; for (Object fieldList : jo.getJSONArray("field_list")) { JSONObject j2 = (JSONObject) fieldList; for (Object com : j2.getJSONArray("com")) { JSONObject j3 = (JSONObject) com; if (j3.getString("field_title").equals("文件编号")) { JSONArray ja = j3.getJSONArray("textAry"); for (Object o : ja) { JSONObject j4 = (JSONObject) o; id = Integer.parseInt(j4.getString("id")); String name = j4.getString("name"); if (name.equals(wenHao)) { System.out.println(wenHao + "已存在,无需重复增加!"); //3、显示更新脚本 Db103Util.showUpdateSql(); System.exit(-1); } } JSONObject j5 = new JSONObject(); j5.put("id", ++id); j5.put("name", wenHao); ja.add(j5); } } } Kv kv = Kv.create(); kv.set("id", id); kv.set("data", jo); kv.set("form_id", form_id); //更新到数据库 sql = "update t_intellioa_flow_form set form_json=? where form_id=?"; Db.update(sql, jo.toJSONString(), form_id); return kv; } /** * 添加form_field表 * * @param id * @param wenHao */ public static Kv addField(int id, String wenHao) { String sql = "select field_id,field_attribute from t_intellioa_flow_form_field where form_id=36 and field_label='原文号' and is_deleted=0;"; Record record = Db.findFirst(sql); String field_attribute = record.getStr("field_attribute"); int field_id = record.getInt("field_id"); JSONObject jo = JSONObject.parseObject(field_attribute); JSONArray ja = jo.getJSONArray("textAry"); JSONObject jAdd = new JSONObject(); jAdd.put("id", id); jAdd.put("name", wenHao); ja.add(jAdd); Kv kv = Kv.create(); kv.set("field_id", field_id); kv.set("data", jo); //更新到数据库 sql = "update t_intellioa_flow_form_field set field_attribute=? where field_id=?"; Db.update(sql, jo.toJSONString(), field_id); return kv; } public static void main(String[] args) throws SQLException { Db103Util.Init(); //想要添加的文号 String wenHao = "教办体卫艺"; //1、form下的json数据 Kv kv = addForm(wenHao); int id = kv.getInt("id"); //2、form_field下的json数据 addField(id, wenHao); //3、显示更新脚本 Db103Util.showUpdateSql(); } }