XJ項(xiàng)目關(guān)于新增保險(xiǎn)時(shí)輸入各類保險(xiǎn)金額后計(jì)算總和插入到總費(fèi)用后查詢顯示

2019-7-31    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

第一種情況
新增框內(nèi)既有各類保險(xiǎn)金額,也有保險(xiǎn)總費(fèi)用。當(dāng)輸入一類保險(xiǎn)金額時(shí),保險(xiǎn)總費(fèi)用自動(dòng)累加顯示,點(diǎn)擊保存之后將所有數(shù)據(jù)插入數(shù)據(jù)庫。然后查詢查詢顯示在結(jié)果列表即可。如下圖:

第一種情況可以在前端js中寫一個(gè)計(jì)費(fèi)方法。獲取每個(gè)不同類的保險(xiǎn)金額,值取到之后在點(diǎn)擊保存之前將變量中的值賦值給保險(xiǎn)總費(fèi)用,然后點(diǎn)擊保存。代碼如下(js中計(jì)費(fèi)的方法寫在代碼一開始中的method{}中,也就是新增,查詢,刪除,修改下方即可):

//計(jì)費(fèi)方法
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("請(qǐng)輸入正確的保險(xiǎn)!");
return;
}
}
var commercialInsuranceCost=$("#vehicleInsurance_add_commercialInsuranceCost").textbox('getValue');
commercialInsuranceCost=parseInt(commercialInsuranceCost);
if(!commercialInsuranceCost == ''){
if(!sum.test(commercialInsuranceCost)){
Message.error("請(qǐng)輸入正確的保險(xiǎn)!");
return;
}
}
var carrierInsuranceCost=$("#vehicleInsurance_add_carrierInsuranceCost").textbox('getValue');
carrierInsuranceCost=parseInt(carrierInsuranceCost);
if(!carrierInsuranceCost == ''){
if(!sum.test(carrierInsuranceCost)){
Message.error("請(qǐng)輸入正確的保險(xiǎn)!");
return;
}
}
var vehicleAndVesselTaxCost=$("#vehicleInsurance_add_vehicleAndVesselTaxCost").textbox('getValue');
vehicleAndVesselTaxCost=parseInt(vehicleAndVesselTaxCost);
if(!vehicleAndVesselTaxCost == ''){
if(!sum.test(vehicleAndVesselTaxCost)){
Message.error("請(qǐng)輸入正確的保險(xiǎn)!");
return;
}
}
var total = trafficCompulsoryInsuranceCost+commercialInsuranceCost+carrierInsuranceCost+vehicleAndVesselTaxCost;
$("#vehicleInsurance_add_totalCost").textbox("setValue",total);
},

第二種情況
新增的表單中只有各種類別的保險(xiǎn)費(fèi)用,并沒有保險(xiǎn)費(fèi)用合計(jì)的字段。意思是在新增時(shí)只輸入各種類別的保險(xiǎn)金額,后臺(tái)拿到各種類型的保險(xiǎn)金額之后,在后臺(tái)將各類保險(xiǎn)金額累加,用set方法給totalcost(保險(xiǎn)總費(fèi)用)賦值,插入數(shù)據(jù)庫中。查詢是從數(shù)據(jù)庫查詢顯示在結(jié)果列表即可。如下圖


第二種情況可以在后臺(tái)中寫一個(gè)計(jì)費(fèi)的累加方法。用BigDecimal的add方法進(jìn)行累加。首先實(shí)例化一個(gè)BigDecimal的對(duì)象totalCost,賦一個(gè)初始值為0,然后用保險(xiǎn)的對(duì)象insurance的get方法獲取各種保險(xiǎn)的金額,然后用totalCost.add方法將獲取每個(gè)不同類的保險(xiǎn)金額一次加到totalCost中,然后將totalCost用insurance的set方法set到保險(xiǎn)總費(fèi)用的字段中,然后進(jìn)行插入操作。代碼如下(后臺(tái)中計(jì)費(fèi)的方法寫在Service中的新增方法中):

/**
* 車輛保險(xiǎn)新增
* 陳通
* @param insurance
* @param request
* @return
* @throws IOException
*/
public Result insertVehicleInsurance(VehicleInsurance insurance,HttpServletRequest request) throws IOException{
Result result = Result.getInstance();
insurance.setKeyID(IDGenerator.uuid());
//計(jì)費(fèi)方法開始
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);
        //計(jì)費(fèi)方法結(jié)束
//插入車輛保險(xiǎn)信息,返回受影響的行數(shù)
int count=vehicleInsuranceDao.insertVehicleInsurance(insurance);
//插入附件
sysFileService.saveFile(insurance.getKeyID(), Enums.FILE_CATALOG.INSURANCEFILE.getValue(), request);
if (count>0) {
result.setFlag(true);
result.setMessage("車輛保險(xiǎn)新增成功!");
}else{
result.setFlag(false);
result.setMessage("車輛保險(xiǎn)新增失敗!");
}
return result;
}

以上是兩種計(jì)費(fèi)方法(前臺(tái)和后臺(tái))。
--------------------- 
作者:ct_?? 
來源:CSDN 
原文:https://blog.csdn.net/weixin_40418595/article/details/94736305 
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

日歷

鏈接

個(gè)人資料

存檔