Java代码:相似合同等价内容复制功能实现
以下 Java 代码实现了相似合同等价内容复制的功能,主要包括以下步骤:
- 查询原始合同数据: 通过 SQL 语句从
t_bus_contract表中查询目标合同的相关信息,并将数据存入map2中。 - 生成新合同 ID: 使用
UUID.randomUUID().toString().replace("-", "")生成一个新的合同 ID。 - 更新合同信息: 将新生成的合同 ID 和其他相关信息(例如创建者、更新时间等)添加到
map2中。 - 插入新合同数据: 将
map2中的更新后的数据插入到t_bus_contract表中,生成一个新的合同记录。 - 查询等价合同数据: 通过 SQL 语句从
t_bus_contractequ表中查询目标合同的等价合同信息,并将数据存入list4中。 - 复制等价合同信息: 遍历
list4中的等价合同数据,为每个等价合同生成新的等价合同 ID,并将其与新合同 ID 关联,并将相关信息插入到t_bus_contractequ表中。 - 添加操作日志: 使用
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 著作权归作者所有。请勿转载和采集!