泥工合同代码解析及数据库操作示例

本文将详细解析泥工合同代码,并提供一个基于Java的数据库操作示例,演示如何将合同信息存储到PM_CONTRACT和PM_CONTRACT_BUILD表中。

代码解析

代码主要分为两个部分:

  1. 获取合同信息: 通过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();
// ... 其他合同信息
  1. 数据库操作: 将获取到的合同信息存储到数据库中。
// 保存主表
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 著作权归作者所有。请勿转载和采集!

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