以下 Java 代码实现了相似合同等价内容复制的功能,主要包括以下步骤:

  1. 查询原始合同数据: 通过 SQL 语句从 t_bus_contract 表中查询目标合同的相关信息,并将数据存入 map2 中。
  2. 生成新合同 ID: 使用 UUID.randomUUID().toString().replace("-", "") 生成一个新的合同 ID。
  3. 更新合同信息: 将新生成的合同 ID 和其他相关信息(例如创建者、更新时间等)添加到 map2 中。
  4. 插入新合同数据:map2 中的更新后的数据插入到 t_bus_contract 表中,生成一个新的合同记录。
  5. 查询等价合同数据: 通过 SQL 语句从 t_bus_contractequ 表中查询目标合同的等价合同信息,并将数据存入 list4 中。
  6. 复制等价合同信息: 遍历 list4 中的等价合同数据,为每个等价合同生成新的等价合同 ID,并将其与新合同 ID 关联,并将相关信息插入到 t_bus_contractequ 表中。
  7. 添加操作日志: 使用 operateLogService.add() 方法记录操作日志,包括操作用户、操作类型、操作时间、操作地址和操作内容。

以下代码示例展示了如何实现上述功能:

String sql2 = 'select * from t_bus_contract where t_contractId = '' + t_contractId + ''';
Map map2 = busBaseService.findMap(sql2);
String t_contractId2 = UUID.randomUUID().toString().replace("-", "");
map2.put("T_CONTRACTID", t_contractId2);
map2.put("T_CREATEUSER", userId);
map2.put("T_UPDATETIME", DateUtils.getCurrDateTimeStr());
map2.put("T_UPDATEUSER", userId);
map2.put("T_CREATETIME", DateUtils.getCurrDateTimeStr());
map2.put("T_CONTRACTPATH", "");
map2.put("T_CONTRACTNAME", "");
map2.put("T_STATUS", 0);
map2.put("T_FLOWSTATE", 0);
String sql3 = "";
if (map2 != null) {
    sql3 = "insert into t_bus_contract (T_CONTRACTID, T_CONTRACTNAME, T_CONTRACTTYPE, T_CONTRACTNO, T_CONTRACTOR, T_CONTRACTADDRESS, " +
            " T_CONTRACTTEL, T_CONTRACTACCOUNT, T_CONTRACTBANK, T_CONTRACTTAXNO, T_CONTRACTSCOPE, " +
            " T_CONTRACTENDTIME, T_CONTRACTSTARTTIME, T_CONTRACTAMOUNT, T_CONTRACTPATH, T_CREATEUSER, " +
            " T_CREATETIME, T_UPDATETIME, T_UPDATEUSER, T_STATUS, T_FLOWSTATE, T_CONTRACTCONTENT, T_CONTRACTDEPT) " +
            " values('"+map2.get("T_CONTRACTID")+"','"+map2.get("T_CONTRACTNAME")+"','"+map2.get("T_CONTRACTTYPE")+"','"+map2.get("T_CONTRACTNO")+"','"+map2.get("T_CONTRACTOR")+"','"+map2.get("T_CONTRACTADDRESS")+"," +
                    " '"+map2.get("T_CONTRACTTEL")+"','"+map2.get("T_CONTRACTACCOUNT")+"','"+map2.get("T_CONTRACTBANK")+"','"+map2.get("T_CONTRACTTAXNO")+"','"+map2.get("T_CONTRACTSCOPE")+"," +
                    " '"+map2.get("T_CONTRACTENDTIME")+"','"+map2.get("T_CONTRACTSTARTTIME")+"','"+map2.get("T_CONTRACTAMOUNT")+"','"+map2.get("T_CONTRACTPATH")+"','"+map2.get("T_CREATEUSER")+"," +
                    " '"+map2.get("T_CREATETIME")+"','"+map2.get("T_UPDATETIME")+"','"+map2.get("T_UPDATEUSER")+"','"+map2.get("T_STATUS")+"','"+map2.get("T_FLOWSTATE")+"','"+map2.get("T_CONTRACTCONTENT")+"','"+map2.get("T_CONTRACTDEPT")+"')";
}
busBaseService.save(sql3);
//将等价合同关联
String sql4 = 'select * from t_bus_contractequ where t_contractId = '' + t_contractId + ''';
List<Map> list4 = busBaseService.findList(sql4);
String sql5 = "";
if (list4.size() > 0) {
    for (Map map4 : list4) {
        String t_contractequId = UUID.randomUUID().toString().replace("-", "");
        map4.put("T_CONTRACTEQUID", t_contractequId);
        map4.put("T_CONTRACTID", t_contractId2);
        map4.put("T_CREATEUSER", userId);
        map4.put("T_UPDATETIME", DateUtils.getCurrDateTimeStr());
        map4.put("T_UPDATEUSER", userId);
        map4.put("T_CREATETIME", DateUtils.getCurrDateTimeStr());
        sql5 = "insert into t_bus_contractequ (T_CONTRACTEQUID, T_CONTRACTID, T_CONTRACTEQUNAME, T_CONTRACTEQUPATH, T_CREATEUSER, T_CREATETIME, T_UPDATETIME, T_UPDATEUSER) " +
                " values('"+map4.get("T_CONTRACTEQUID")+"','"+map4.get("T_CONTRACTID")+"','"+map4.get("T_CONTRACTEQUNAME")+"','"+map4.get("T_CONTRACTEQUPATH")+"','"+map4.get("T_CREATEUSER")+"," +
                        " '"+map4.get("T_CREATETIME")+"','"+map4.get("T_UPDATETIME")+"','"+map4.get("T_UPDATEUSER")+"')";
        busBaseService.save(sql5);
    }
}
//添加操作日志
operateLogService.add(userId, userName, "2", request.getRemoteAddr(), "合同申请添加成功!");
json.put("success", true);
json.put("resultCode", "1000");
json.put("msg", "添加成功!");

代码中使用了以下方法:

  • busBaseService.findMap(sql):执行 SQL 查询语句,返回查询结果的第一行数据。
  • busBaseService.findList(sql):执行 SQL 查询语句,返回查询结果的所有行数据。
  • busBaseService.save(sql):执行 SQL 插入语句或更新语句。
  • DateUtils.getCurrDateTimeStr():获取当前日期时间字符串。
  • UUID.randomUUID().toString().replace("-", ""):生成一个随机的 UUID 字符串,并去除其中的连字符。

通过使用上述代码,您可以轻松实现相似合同等价内容复制的功能,方便用户快速创建新的合同。

请注意,这只是一个示例代码,实际使用过程中可能需要根据您的具体需求进行调整。


原文地址: https://www.cveoy.top/t/topic/lgna 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录