2019-7-31 seo达人
如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里
第一种情况
新增框内既有各类保险金额,也有保险总费用。当输入一类保险金额时,保险总费用自动累加显示,点击保存之后将所有数据插入数据库。然后查询查询显示在结果列表即可。如下图:
第一种情况可以在前端js中写一个计费方法。获取每个不同类的保险金额,值取到之后在点击保存之前将变量中的值赋值给保险总费用,然后点击保存。代码如下(js中计费的方法写在代码一开始中的method{}中,也就是新增,查询,删除,修改下方即可):
//计费方法
Vehicle_sum:function(){
var sum = /^[0-9]\d{0,5}$/;
var trafficCompulsoryInsuranceCost=$("#vehicleInsurance_add_trafficCompulsoryInsuranceCost").textbox('getValue');
trafficCompulsoryInsuranceCost=parseInt(trafficCompulsoryInsuranceCost);
if(!trafficCompulsoryInsuranceCost == ''){
if(!sum.test(trafficCompulsoryInsuranceCost)){
Message.error("请输入正确的保险!");
return;
}
}
var commercialInsuranceCost=$("#vehicleInsurance_add_commercialInsuranceCost").textbox('getValue');
commercialInsuranceCost=parseInt(commercialInsuranceCost);
if(!commercialInsuranceCost == ''){
if(!sum.test(commercialInsuranceCost)){
Message.error("请输入正确的保险!");
return;
}
}
var carrierInsuranceCost=$("#vehicleInsurance_add_carrierInsuranceCost").textbox('getValue');
carrierInsuranceCost=parseInt(carrierInsuranceCost);
if(!carrierInsuranceCost == ''){
if(!sum.test(carrierInsuranceCost)){
Message.error("请输入正确的保险!");
return;
}
}
var vehicleAndVesselTaxCost=$("#vehicleInsurance_add_vehicleAndVesselTaxCost").textbox('getValue');
vehicleAndVesselTaxCost=parseInt(vehicleAndVesselTaxCost);
if(!vehicleAndVesselTaxCost == ''){
if(!sum.test(vehicleAndVesselTaxCost)){
Message.error("请输入正确的保险!");
return;
}
}
var total = trafficCompulsoryInsuranceCost+commercialInsuranceCost+carrierInsuranceCost+vehicleAndVesselTaxCost;
$("#vehicleInsurance_add_totalCost").textbox("setValue",total);
},
第二种情况
新增的表单中只有各种类别的保险费用,并没有保险费用合计的字段。意思是在新增时只输入各种类别的保险金额,后台拿到各种类型的保险金额之后,在后台将各类保险金额累加,用set方法给totalcost(保险总费用)赋值,插入数据库中。查询是从数据库查询显示在结果列表即可。如下图
第二种情况可以在后台中写一个计费的累加方法。用BigDecimal的add方法进行累加。首先实例化一个BigDecimal的对象totalCost,赋一个初始值为0,然后用保险的对象insurance的get方法获取各种保险的金额,然后用totalCost.add方法将获取每个不同类的保险金额一次加到totalCost中,然后将totalCost用insurance的set方法set到保险总费用的字段中,然后进行插入操作。代码如下(后台中计费的方法写在Service中的新增方法中):
/**
* 车辆保险新增
* 陈通
* @param insurance
* @param request
* @return
* @throws IOException
*/
public Result insertVehicleInsurance(VehicleInsurance insurance,HttpServletRequest request) throws IOException{
Result result = Result.getInstance();
insurance.setKeyID(IDGenerator.uuid());
//计费方法开始
BigDecimal totalCost = new BigDecimal("0");
if(insurance.getTrafficCompulsoryInsuranceCost()!=null){
totalCost=totalCost.add(insurance.getTrafficCompulsoryInsuranceCost());
}
if(insurance.getCommercialInsuranceCost()!=null){
totalCost=totalCost.add(insurance.getCommercialInsuranceCost());
}
if(insurance.getCarrierInsuranceCost()!=null){
totalCost=totalCost.add(insurance.getCarrierInsuranceCost());
}
if(insurance.getVehicleAndVesselTaxCost()!=null){
totalCost=totalCost.add(insurance.getVehicleAndVesselTaxCost());
}
insurance.setTotalCost(totalCost);
//计费方法结束
//插入车辆保险信息,返回受影响的行数
int count=vehicleInsuranceDao.insertVehicleInsurance(insurance);
//插入附件
sysFileService.saveFile(insurance.getKeyID(), Enums.FILE_CATALOG.INSURANCEFILE.getValue(), request);
if (count>0) {
result.setFlag(true);
result.setMessage("车辆保险新增成功!");
}else{
result.setFlag(false);
result.setMessage("车辆保险新增失败!");
}
return result;
}
以上是两种计费方法(前台和后台)。
---------------------
作者:ct_??
来源:CSDN
原文:https://blog.csdn.net/weixin_40418595/article/details/94736305
版权声明:本文为博主原创文章,转载请附上博文链接!