泥工合同代码解析及数据库操作示例
泥工合同代码解析及数据库操作示例
本文将详细解析泥工合同代码,并提供一个基于Java的数据库操作示例,演示如何将合同信息存储到PM_CONTRACT和PM_CONTRACT_BUILD表中。
代码解析
代码主要分为两个部分:
- 获取合同信息: 通过mapContract获取合同信息,并使用toString()方法将其转换为字符串。
String coNo = mapContract.get('co_no')==null?'':mapContract.get('co_no').toString();
String coName = mapContract.get('co_name')==null?'':mapContract.get('co_name').toString();
// ... 其他合同信息
- 数据库操作: 将获取到的合同信息存储到数据库中。
// 保存主表
Map<String, Object> mapContractMain = new HashMap<String, Object>();
mapContractMain.put('PROJECT_ID', PROJECT_ID);
mapContractMain.put('CO_NO', coNo);
// ... 其他合同信息
// 若不存在该项目合同,则插入,否则更新
String sql = 'SELECT COUNT(1) FROM PM_CONTRACT WHERE PROJECT_ID = '+PROJECT_ID; // 检查项目ID是否存在
int count = this.jdbcTemplate.queryForInt(sql);
if(count > 0){
this.updateByMap('PM_CONTRACT', mapContractMain, new String[]{'PROJECT_ID'}); // 更新现有合同信息
}else{
this.insertByMap('PM_CONTRACT', mapContractMain); // 插入新合同信息
}
// 保存土建合同
Map<String, Object> mapCB = new HashMap<String, Object>();
mapCB.put('PROJECT_ID', PROJECT_ID);
mapCB.put('CB_NO', cbNo);
// ... 其他土建合同信息
// 若不存在该项目合同,则插入,否则更新
String sqlCB = 'SELECT COUNT(1) FROM PM_CONTRACT_BUILD WHERE PROJECT_ID = '+PROJECT_ID; // 检查项目ID是否存在
int countCB = this.jdbcTemplate.queryForInt(sqlCB);
if(countCB > 0){
this.updateByMap('PM_CONTRACT_BUILD', mapCB, new String[]{'PROJECT_ID'}); // 更新现有合同信息
}else{
this.insertByMap('PM_CONTRACT_BUILD', mapCB); // 插入新合同信息
}
数据库表结构
代码中涉及两个数据库表:
- PM_CONTRACT: 用于存储主合同信息。
- PM_CONTRACT_BUILD: 用于存储土建合同信息。
代码示例
以下是一个完整的示例代码,展示如何使用Java代码进行数据库操作:
// ... 其他代码
// 获取合同信息
String coNo = mapContract.get('co_no')==null?'':mapContract.get('co_no').toString();
String coName = mapContract.get('co_name')==null?'':mapContract.get('co_name').toString();
// ... 其他合同信息
// 保存主表
Map<String, Object> mapContractMain = new HashMap<String, Object>();
mapContractMain.put('PROJECT_ID', PROJECT_ID);
mapContractMain.put('CO_NO', coNo);
// ... 其他合同信息
// 若不存在该项目合同,则插入,否则更新
String sql = 'SELECT COUNT(1) FROM PM_CONTRACT WHERE PROJECT_ID = '+PROJECT_ID; // 检查项目ID是否存在
int count = this.jdbcTemplate.queryForInt(sql);
if(count > 0){
this.updateByMap('PM_CONTRACT', mapContractMain, new String[]{'PROJECT_ID'}); // 更新现有合同信息
}else{
this.insertByMap('PM_CONTRACT', mapContractMain); // 插入新合同信息
}
// 保存土建合同
Map<String, Object> mapCB = new HashMap<String, Object>();
mapCB.put('PROJECT_ID', PROJECT_ID);
mapCB.put('CB_NO', cbNo);
// ... 其他土建合同信息
// 若不存在该项目合同,则插入,否则更新
String sqlCB = 'SELECT COUNT(1) FROM PM_CONTRACT_BUILD WHERE PROJECT_ID = '+PROJECT_ID; // 检查项目ID是否存在
int countCB = this.jdbcTemplate.queryForInt(sqlCB);
if(countCB > 0){
this.updateByMap('PM_CONTRACT_BUILD', mapCB, new String[]{'PROJECT_ID'}); // 更新现有合同信息
}else{
this.insertByMap('PM_CONTRACT_BUILD', mapCB); // 插入新合同信息
}
// ... 其他代码
注意: 此示例代码仅供参考,实际应用中需要根据具体情况进行修改。
总结
本文详细解析了泥工合同代码,并提供了一个基于Java的数据库操作示例。通过这个示例,您可以了解如何将合同信息存储到数据库中,以及如何根据项目ID判断是更新现有合同信息还是插入新合同信息。希望本文对您有所帮助。
原文地址: https://www.cveoy.top/t/topic/llTj 著作权归作者所有。请勿转载和采集!