以下是关于合同解除赔偿金以及其他费用调整的代码解析:

Double contract_amount_compensate = Double.valueOf(map.get('contract_amount_compensate'));
if(contract_amount_compensate != null && contract_amount_compensate > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_ADJUST_CONTRACT_AMOUNT);
	feeAdjustMap.put('amount', contract_amount_compensate);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '解除合同赔偿金');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

// 调整合同金额
Double adjust_contract_amount = Double.valueOf(map.get('adjust_contract_amount'));
if(adjust_contract_amount != null && adjust_contract_amount > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_ADJUST_CONTRACT_AMOUNT);
	feeAdjustMap.put('amount', adjust_contract_amount);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '调整合同金额');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

// 调整租金
Double adjust_rent_amount = Double.valueOf(map.get('adjust_rent_amount'));
if(adjust_rent_amount != null && adjust_rent_amount > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_ADJUST_RENT);
	feeAdjustMap.put('amount', adjust_rent_amount);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '调整租金');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

// 增值税发票金额
Double invoice_amount_vat = Double.valueOf(map.get('invoice_amount_vat'));
if(invoice_amount_vat != null && invoice_amount_vat > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_INVOICE_VAT);
	feeAdjustMap.put('amount', invoice_amount_vat);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '增值税发票金额');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

// 营业税发票金额
Double invoice_amount_turnover = Double.valueOf(map.get('invoice_amount_turnover'));
if(invoice_amount_turnover != null && invoice_amount_turnover > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_INVOICE_TURNOVER);
	feeAdjustMap.put('amount', invoice_amount_turnover);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '营业税发票金额');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

// 提前还款违约金
Double penalty_amount = Double.valueOf(map.get('penalty_amount'));
if(penalty_amount != null && penalty_amount > 0){
	// 插入费用调整
	Map<String, Object> feeAdjustMap = new HashMap<String, Object>();
	feeAdjustMap.put('form_id', form_id);
	feeAdjustMap.put('fee_type', Constants.FEE_TYPE_PENALTY_AMOUNT);
	feeAdjustMap.put('amount', penalty_amount);
	feeAdjustMap.put('is_invoice', 0);
	feeAdjustMap.put('create_user', userId);
	feeAdjustMap.put('create_time', new Date());
	feeAdjustMap.put('remark', '提前还款违约金');
	dao.insert('OrderInfoMapper.insertOrderFee', feeAdjustMap);
}

代码解释:

  1. 获取相关费用信息:从 map 对象中获取合同解除赔偿金、合同金额调整、租金调整、增值税发票金额、营业税发票金额和提前还款违约金等信息。
  2. 判断金额是否有效:判断每个费用金额是否不为空且大于0,如果金额有效则进行下一步处理。
  3. 构建费用调整信息:创建一个 Map 对象,并设置其属性值,包括 form_id、fee_type、amount、is_invoice、create_user、create_time 和 remark。
  4. 插入费用调整记录:使用 dao 对象的 insert 方法,将构建的 Map 对象插入到 'OrderInfoMapper.insertOrderFee' 中,即插入到订单费用表中,记录相关费用调整信息。

注意:

  • 每个费用类型对应的 Constants.FEE_TYPE 值需要根据实际情况进行修改。
  • 代码中使用了 dao.insert 方法,需要根据具体的数据库操作方式进行调整。
  • 需要根据具体业务需求进行完善,例如增加其他费用类型或修改费用类型对应的处理逻辑。

希望以上解析能够帮助您理解代码的逻辑和功能。


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

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