Преглед изворни кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
#	src/main/webapp/webpage/modules/sg/managementcenter/activiti/coveredForm.jsp
yue пре 5 година
родитељ
комит
5346dd0d7b

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/entity/TransferOfEquipment.java

@@ -12,11 +12,20 @@ public class TransferOfEquipment {
     private String powerNumber;//配变数量
     private String powerUnit;//计量单位
     private String powerCapacity;//配变容量
+    private String powerInstallFee;//安装费
     private String powerValue;//设备价值
     private String powerStandInFee;//摊入费用
     private String powerDeliveredAssets;//交付使用资产价值
     private String poweRequipmentFee;//其中:附属设备价值
 
+    public String getPowerInstallFee() {
+        return powerInstallFee;
+    }
+
+    public void setPowerInstallFee(String powerInstallFee) {
+        this.powerInstallFee = powerInstallFee;
+    }
+
     public String getPowerAssetClass() {
         return powerAssetClass;
     }

+ 5 - 4
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/ErpInfo.java

@@ -81,6 +81,7 @@ public  class ErpInfo {
         return true;
     }
 
+    public final static String CON_PLMDESIGN = "设计文件评审费";
     /**
      * 获取表格数据
      * @param importUtil
@@ -492,19 +493,19 @@ public  class ErpInfo {
                         erpAccount.getSubjectName().contains(CON_JSQDK)||
                         erpAccount.getSubjectName().contains(CON_JSQDK1)){
                     //判断WBS描述为工程监理费
-                    if (erpAccount.getWbsDetails().equals(ErpInfo.CON_PSF)){
+                    if (erpAccount.getWbsDetails().contains(ErpInfo.CON_PSF)){
                         erpCredit.setOtherSupervisorFee(lineItemAmount);
                     }
                     //判断WBS描述为工程设计费
-                    if (erpAccount.getWbsDetails().equals(ErpInfo.CON_EDF)){
+                    if (erpAccount.getWbsDetails().contains(ErpInfo.CON_EDF)||erpAccount.getWbsDetails().contains(ErpInfo.CON_PLMDESIGN)){
                         erpCredit.setOtherDesignFee(lineItemAmount);
                     }
                     //判断WBS描述为建设期贷款利息
-                    if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OBL)){
+                    if (erpAccount.getWbsDetails().contains(ErpInfo.CON_OBL)){
                         erpCredit.setOtherBuildLoan(lineItemAmount);
                     }
                     //判断WBS描述为线路施工赔偿费
-                    if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OLD)){
+                    if (erpAccount.getWbsDetails().contains(ErpInfo.CON_OLD)){
                         erpCredit.setOtherLineDamages(lineItemAmount);
                     }
                     //其他费用:法人管理费

+ 18 - 10
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/ExportUtil.java

@@ -377,40 +377,48 @@ public class ExportUtil {
               cell.setCellValue(transferOfPower2.getPowerCapacity());//配变容量
               cell.setCellStyle(cellStyle);
               if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
-
-              //第八行
+              //第8行
               if (row.getCell(7)==null){
                   cell = row.createCell(7);
               }else {
                   cell = row.getCell(7);
               }
-              cell.setCellValue(transferOfPower2.getPowerValue());//设备价值
+              cell.setCellValue(transferOfPower2.getPowerInstallFee());//设备价值
               cell.setCellStyle(cellStyle);
               if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
-              //第
+              //第9
               if (row.getCell(8)==null){
                   cell = row.createCell(8);
               }else {
                   cell = row.getCell(8);
               }
-              cell.setCellValue(transferOfPower2.getPowerStandInFee());//摊入费用
+              cell.setCellValue(transferOfPower2.getPowerValue());//设备价值
               cell.setCellStyle(cellStyle);
               if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
-              //第
+              //第10
               if (row.getCell(9)==null){
                   cell = row.createCell(9);
               }else {
                   cell = row.getCell(9);
               }
-              cell.setCellValue(transferOfPower2.getPowerDeliveredAssets());//交付使用资产价值
+              cell.setCellValue(transferOfPower2.getPowerStandInFee());//摊入费用
               cell.setCellStyle(cellStyle);
               if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
-              //第十一
-              if (row.getCell(10) == null){
+              //第11
+              if (row.getCell(10)==null){
                   cell = row.createCell(10);
               }else {
                   cell = row.getCell(10);
               }
+              cell.setCellValue(transferOfPower2.getPowerDeliveredAssets());//交付使用资产价值
+              cell.setCellStyle(cellStyle);
+              if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
+              //第12行
+              if (row.getCell(11) == null){
+                  cell = row.createCell(11);
+              }else {
+                  cell = row.getCell(11);
+              }
               cell.setCellValue(transferOfPower2.getPoweRequipmentFee());//其中:附属设备价值
               cell.setCellStyle(cellStyle);
               if (i == transferOfPower2s.size() - 1){ cell.setCellStyle(style); }
@@ -425,7 +433,7 @@ public class ExportUtil {
         CellStyle cellStyle1 = getCellStyleAlign(workbook);
         MaterialEquipment materialEquipment = null;
         if (null!=sheet){
-            List<MaterialEquipment> materialEquipments = ExportUtilCalculate.getMaterialEquipment(erpCredits);
+            List<MaterialEquipment> materialEquipments = ExportUtilCalculate.getSureMateralEquipment(erpCredits);
             for (int i = 0; i < materialEquipments.size(); i++) {
                 materialEquipment = materialEquipments.get(i);
                 row = (XSSFRow) sheet.createRow((int)i+5);

+ 258 - 129
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/ExportUtilCalculate.java

@@ -342,6 +342,51 @@ public class ExportUtilCalculate {
     }
 
     /**
+     * 设备材料清册去重显示
+     */
+    public static List<MaterialEquipment> getSureMateralEquipment(List<ErpCredit> erpCredits){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        DecimalFormat decimalFormat1 = new DecimalFormat("#0");
+        Boolean flag = true;
+        Double meNumber=0.0;//数量
+        Double meUnitPrice=0.0;//单价
+        Double meAllPrice=0.0;//合计
+        MaterialEquipment materialEquipment2 = null;
+        List<MaterialEquipment> materialEquipmentList = new ArrayList<MaterialEquipment>();
+        List<MaterialEquipment> materialEquipments = getMaterialEquipment(erpCredits);
+        for (MaterialEquipment materialEquipment:materialEquipments){
+            flag = true;
+            if (null!=materialEquipmentList&&materialEquipmentList.size()>0){
+                for (MaterialEquipment materialEquipment1:materialEquipmentList){
+                    if (materialEquipment.getMeSupplierName().equals(materialEquipment1.getMeSupplierName())||
+                           materialEquipment.getMeName().equals(materialEquipment1.getMeName())){
+                        meNumber = Double.valueOf(materialEquipment.getMeNumber())+Double.valueOf(materialEquipment1.getMeNumber());
+                        meUnitPrice = Double.valueOf(materialEquipment.getMeUnitPrice())+Double.valueOf(materialEquipment1.getMeUnitPrice());
+                        meAllPrice = Double.valueOf(materialEquipment.getMeAllPrice())+Double.valueOf(materialEquipment1.getMeAllPrice());
+                        materialEquipment1.setMeNumber(decimalFormat.format(meNumber));
+                        materialEquipment1.setMeUnitPrice(decimalFormat.format(meUnitPrice));
+                        materialEquipment1.setMeAllPrice(decimalFormat.format(meAllPrice));
+                        flag = false;
+                    }
+                }
+            }
+            if (flag){
+                materialEquipment2 = new MaterialEquipment();
+                materialEquipment2.setMeName(materialEquipment.getMeName());
+                materialEquipment2.setMeSupplierName(materialEquipment.getMeSpecifications());
+                materialEquipment2.setMeAllPrice(materialEquipment.getMeAllPrice());
+                materialEquipment2.setMeNumber(materialEquipment.getMeNumber());
+                materialEquipment2.setMeUnit(materialEquipment.getMeUnit());
+                materialEquipment2.setId(materialEquipment.getId());
+                materialEquipment2.setMeUnitPrice(materialEquipment.getMeUnitPrice());
+                materialEquipment2.setMeAllPrice(materialEquipment.getMeAllPrice());
+                materialEquipment2.setMeSpecifications(materialEquipment.getMeSupplierName());
+                materialEquipmentList.add(materialEquipment2);
+            }
+        }
+        return materialEquipmentList;
+    }
+    /**
      * 设备材料清册
      * @param erpCredits
      * @return
@@ -380,7 +425,7 @@ public class ExportUtilCalculate {
                     //得到合计金额
                     if (null!=erpCreditChild1.getEqmBookedFee1()){
                         materialEquipment.setMeAllPrice(String.valueOf(erpCreditChild1.getEqmBookedFee1()));
-                        if (null!=materialEquipment.getMeNumber()){
+                        if (null!=materialEquipment.getMeNumber()&&!materialEquipment.getMeNumber().equals("0.0")){
                             count=erpCreditChild1.getEqmBookedFee1()/Double.parseDouble(materialEquipment.getMeNumber());
                             materialEquipment.setMeUnitPrice(decimalFormat.format(count));
                         }else {
@@ -416,7 +461,7 @@ public class ExportUtilCalculate {
                     //得到合计金额
                     if (null!=erpCreditChild2.getMtlBookedFee2()){
                         materialEquipment.setMeAllPrice(String.valueOf(erpCreditChild2.getMtlBookedFee2()));
-                        if (null!=materialEquipment.getMeNumber()){
+                        if (null!=materialEquipment.getMeNumber()&&!materialEquipment.getMeNumber().equals("0.0")){
                             count=erpCreditChild2.getMtlBookedFee2()/Double.parseDouble(materialEquipment.getMeNumber());
                             materialEquipment.setMeUnitPrice(decimalFormat.format(count));
                         }else {
@@ -466,22 +511,25 @@ public class ExportUtilCalculate {
                 eqmNumbers = 0.0;//赋予初始值
                 eqmValue = 0.0;//赋予初始值
                 eqmBookedFee=0.0;//入账金额赋予初始值
-                for (ErpCreditEquipment erpCreditChild11:erpCreditChild1s){//循环设备费
-                    if (null!=erpCreditChild11.getEqmNumbers()){//当前项目定义号所有的台数合计
-                        eqmNumbers+=erpCreditChild11.getEqmNumbers();
-                    }
-                    if (null!=erpCreditChild11.getEqmBookedFee1()){
-                        eqmBookedFee+=erpCreditChild11.getEqmBookedFee1();//设备入账金额
-                    }
-                }
-                if (null!=erpCredit.getConsInstallFee()){//得到分摊后安装费
-                    eqmNumbers=erpCredit.getConsTotalFee()/eqmNumbers;
-                }
-                if (null==erpCredit.getTenKvModel()||erpCredit.getTenKvModel()==""){//若10KV电缆、架空导线型号为空:得到设备价值
-                    eqmValue = eqmBookedFee + eqmNumbers + eqmValue;//设备H6的和
-                }else {
-                    eqmValue = eqmBookedFee;
+                for (ErpCreditEquipment erpCreditEquipment:erpCreditChild1s){//所有设备费合计
+                    eqmValue+=erpCreditEquipment.getEqmBookedFee1();
                 }
+//                for (ErpCreditEquipment erpCreditChild11:erpCreditChild1s){//循环设备费
+//                    if (null!=erpCreditChild11.getEqmNumbers()){//当前项目定义号所有的台数合计
+//                        eqmNumbers+=erpCreditChild11.getEqmNumbers();
+//                    }
+//                    if (null!=erpCreditChild11.getEqmBookedFee1()){
+//                        eqmBookedFee+=erpCreditChild11.getEqmBookedFee1();//设备入账金额
+//                    }
+//                }
+//                if (null!=erpCredit.getConsInstallFee()){//得到分摊后安装费
+//                    eqmNumbers=erpCredit.getConsTotalFee()/eqmNumbers;
+//                }
+//                if (null==erpCredit.getTenKvModel()||erpCredit.getTenKvModel()==""){//若10KV电缆、架空导线型号为空:得到设备价值
+//                    eqmValue = eqmBookedFee + eqmNumbers + eqmValue;//设备H6的和
+//                }else {
+//                    eqmValue = eqmBookedFee;
+//                }
             }
             //添加固定数据:线路
             transferOfPower1  = new TransferOfPowerLine();//得到线路集合
@@ -555,6 +603,149 @@ public class ExportUtilCalculate {
         return transferOfPower1s;
     }
 
+//    /**
+//     * 移交资产—配电网资产一览表(设备)
+//     * @param erpCredits
+//     * @return
+//     */
+//    public static List<TransferOfEquipment> getTransferOfPower2(List<ErpCredit> erpCredits){
+//        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+//        DecimalFormat decimalFormat1   = new DecimalFormat("#0");
+//        List<TransferOfEquipment> transferOfPower2s =  new ArrayList<TransferOfEquipment>();//得到设备表集合
+//        List<ErpCreditEquipment> erpCreditChild1s = null;//定义设备 费对象
+//        TransferOfEquipment transferOfPower2 = null;//定义设备表对象
+//
+//        Double materialTotal = 0.0;//材料费总计
+//        Double powerValueTotal = 0.0;//当前erp账户 所有设备费合计
+//        Double powerValue = 0.0;
+//        Double eqmFtIntalls = 0.0;//获取分摊安装费
+//        Double powerInstallFee = 0.0;//安装费用(线路)
+//        Double powerEqmMater=0.0;//物料材料合计
+//        Double powerStandInFee = 0.0;//摊入费用
+//        Double powerDeliveredAssets=0.0;//交付使用资产价值
+//        //合计
+//        Double eqmNumbersAll = 0.0;//数量合计
+//        Double powerValueAll=0.0;//价值合计
+//        Double powerStandInFeeAll=0.0;//摊入费用
+//        Double powerDeliveredAssetsAll=0.0;//交付使用资产价值
+//        Double erpCreditMaterial = 0.0;
+//        for (ErpCredit erpCredit:erpCredits){
+//            erpCreditMaterial = getErpCreditMaterial(erpCredit);
+//            erpCreditMaterial = erpCreditMaterial/erpCredit.getErpCreditChild1s().size();
+//            powerValueTotal = 0.0;//当前erp账户 所有设备费合计 赋值初始值
+//            //材料费合计
+//            materialTotal = getErpCreditMaterial(erpCredit);//得到材料费
+//
+//            erpCreditChild1s = erpCredit.getErpCreditChild1s();//得到设备费集合
+//            //所有设备费累加
+//            for (ErpCreditEquipment erpCreditEquipment:erpCreditChild1s){
+//                powerValueTotal += erpCreditEquipment.getEqmBookedFee1();
+//            }
+//            //得到安装费用
+////            if (null!=erpCredit.getConsInstallFee()&&erpCredit.getTenKvModel()!=null){ //安装费(x线路表)
+////                powerInstallFee = erpCredit.getConsInstallFee()+materialTotal;
+////            }
+////            if (null!=erpCredit.getConsBuildingFee()&&erpCredit.getTenKvModel()!=null){
+////                powerInstallFee = erpCredit.getConsBuildingFee()+materialTotal;//赋值powerInstallfe为建筑费
+////            }
+//            if (null!=erpCredit.getConsInstallFee()){ //安装费(x线路表)
+//                powerInstallFee = erpCredit.getConsInstallFee()+materialTotal;
+//            }
+//            if (null!=erpCredit.getConsBuildingFee()){
+//                powerInstallFee = erpCredit.getConsBuildingFee()+materialTotal;//赋值powerInstallfe为建筑费
+//            }
+//            if (null!=erpCreditChild1s && erpCreditChild1s.size()>=0){//
+//                for (ErpCreditEquipment erpCreditChild1:erpCreditChild1s){
+//                    eqmFtIntalls = 0.0;//定义台数初始值
+//                    powerDeliveredAssets=0.0;//交付使用价值初始值
+//                    transferOfPower2 = new TransferOfEquipment();//定义设备表对象
+//                    transferOfPower2.setPowerId(erpCredit.getItemId());//赋值项目定义编号
+//                    transferOfPower2.setPowerName(erpCredit.getItemName());//添加项目名称
+//                    transferOfPower2.setPowerArea("-");//线路起始地带
+//                    transferOfPower2.setPowerDepartment(ExportUtilCalculate.POWER_DEPARTMENT);//添加保管
+//                    if (null!=erpCredit.getConsInstallFee()&& null != erpCreditChild1.getEqmBookedFee1()){//得到分摊后安装费
+//                        eqmFtIntalls=erpCredit.getConsInstallFee()/erpCreditChild1.getEqmBookedFee1();
+//                        eqmFtIntalls = eqmFtIntalls*erpCreditChild1.getEqmBookedFee1();
+//                        eqmFtIntalls = eqmFtIntalls/erpCreditChild1s.size();
+//                    }
+//                    if (null!=erpCreditChild1.getEqmNumbers()){//得到配变数量(erp账户中设备台数)
+//                        transferOfPower2.setPowerNumber(decimalFormat1.format(erpCreditChild1.getEqmNumbers()));
+//                        eqmNumbersAll+=erpCreditChild1.getEqmNumbers();//配电数量合计金额累加
+//                    }
+//                    if (null!=erpCreditChild1.getEqmUnit()){//计量单位
+//                        transferOfPower2.setPowerUnit(erpCreditChild1.getEqmUnit());
+//                    }
+//                    //配电容量
+//                    transferOfPower2.setPowerCapacity(erpCreditChild1.getEqmMaterialDetails1());
+//                    //设备价值
+//                    if (null!=erpCreditChild1.getEqmBookedFee1()){//如果入账金额不为空
+//                        if (null!=transferOfPower2.getPowerCapacity()&& null == erpCredit.getTenKvModel()){
+//                            powerValue=erpCreditChild1.getEqmBookedFee1()+eqmFtIntalls+erpCreditMaterial;//价值合计 设备入账金额+安装费(安装费按比例分摊)
+//                            transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
+//                        }else {
+//                            powerValue=erpCreditChild1.getEqmBookedFee1();//价值合计 设备入账金额
+//                            transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
+//                        }
+//                        powerDeliveredAssets +=powerValue;//交付使用价值合计
+//                        powerValueAll+=powerValue;//合计//设备价值合计
+//                    }else {
+//                        powerValue=erpCreditChild1.getEqmBookedFee1();
+//                        transferOfPower2.setPowerValue(decimalFormat.format(powerValue));
+//                        powerDeliveredAssets+=powerValue;
+//                        powerValueAll+=powerValue;//合计
+//                    }
+//                    //计算摊入费用
+////                    powerEqmMater = Double.parseDouble(transferOfPower2.getPowerValue())+powerInstallFee;//设备价值加上安装费设备价值
+////                    if (erpCredit.getOtherTotalFee()!=null){
+////                        powerStandInFee=Double.parseDouble(transferOfPower2.getPowerValue())/powerEqmMater*erpCredit.getOtherTotalFee();
+////                    }else {
+////                        powerStandInFee =0.0;
+////                    }
+//                    powerEqmMater = powerValueTotal+powerInstallFee;//设备价值加上安装费设备价
+//                    if (erpCredit.getOtherTotalFee()!=null){
+//                        powerStandInFee=Double.parseDouble(transferOfPower2.getPowerValue())/powerEqmMater*erpCredit.getOtherTotalFee();
+//                    }else {
+//                        powerStandInFee =0.0;
+//                    }
+////                    if (null==erpCredit.getTenKvModel()){
+////                        powerStandInFee = erpCredit.getOtherTotalFee();
+////                    }
+//                    transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFee));//赋值设备分摊费用
+//                    if (null!=erpCredit.getConsInstallFee()){
+//                        powerDeliveredAssets+=powerStandInFee;//交付使用费用累加
+//                        powerStandInFeeAll+=powerStandInFee;//分摊费用累加W
+//                    }else {
+//                        transferOfPower2.setPowerStandInFee("-");//赋值设备分摊费用
+//                    }
+//
+//                    //添加资产类别
+//                    if (transferOfPower2.getPowerCapacity().contains(POWER_BDZ)){
+//                        transferOfPower2.setPowerAssetClass(POWER_BDZCOUNT);
+//                    }
+//                    if (transferOfPower2.getPowerCapacity().contains(POWER_BOXBDZ)){
+//                        transferOfPower2.setPowerAssetClass(POWER_BOXCOUNT);
+//                    }
+//                    if (transferOfPower2.getPowerCapacity().contains(POWER_HGW)){
+//                        transferOfPower2.setPowerAssetClass(POWER_HGWCOUNT);
+//                    }
+//                    if (transferOfPower2.getPowerCapacity().contains(POWER_KGG)){
+//                        transferOfPower2.setPowerAssetClass(POWER_KGGCOUNT);
+//                    }
+//                    transferOfPower2.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssets));//交付使用资产价值
+//                    powerDeliveredAssetsAll+=powerDeliveredAssets;
+//                    transferOfPower2s.add(transferOfPower2);
+//                }
+//            }
+//        }
+//        transferOfPower2 = new TransferOfEquipment();
+//        transferOfPower2.setPowerName(POWER_HJ);
+//        transferOfPower2.setPowerNumber(decimalFormat1.format(eqmNumbersAll));//配电数量合计
+//        transferOfPower2.setPowerValue(decimalFormat.format(powerValueAll));//计量价值合计
+//        transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFeeAll));//摊入费用合计
+//        transferOfPower2.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));//交付使用资产价值合计
+//        transferOfPower2s.add(transferOfPower2);
+//        return transferOfPower2s;
+//    }
     /**
      * 移交资产—配电网资产一览表(设备)
      * @param erpCredits
@@ -567,6 +758,9 @@ public class ExportUtilCalculate {
         List<ErpCreditEquipment> erpCreditChild1s = null;//定义设备 费对象
         TransferOfEquipment transferOfPower2 = null;//定义设备表对象
 
+        Double powerInstall = 0.0;//安装费
+        Double powerInstallTatol = 0.0;//安装费合计
+
         Double materialTotal = 0.0;//材料费总计
         Double powerValueTotal = 0.0;//当前erp账户 所有设备费合计
         Double powerValue = 0.0;
@@ -594,31 +788,33 @@ public class ExportUtilCalculate {
                 powerValueTotal += erpCreditEquipment.getEqmBookedFee1();
             }
             //得到安装费用
-//            if (null!=erpCredit.getConsInstallFee()&&erpCredit.getTenKvModel()!=null){ //安装费(x线路表)
-//                powerInstallFee = erpCredit.getConsInstallFee()+materialTotal;
-//            }
-//            if (null!=erpCredit.getConsBuildingFee()&&erpCredit.getTenKvModel()!=null){
-//                powerInstallFee = erpCredit.getConsBuildingFee()+materialTotal;//赋值powerInstallfe为建筑费
-//            }
             if (null!=erpCredit.getConsInstallFee()){ //安装费(x线路表)
                 powerInstallFee = erpCredit.getConsInstallFee()+materialTotal;
             }
             if (null!=erpCredit.getConsBuildingFee()){
                 powerInstallFee = erpCredit.getConsBuildingFee()+materialTotal;//赋值powerInstallfe为建筑费
             }
+            if (null==erpCredit.getTenKvModel()){
+                powerInstallFee = 0.0;
+            }
             if (null!=erpCreditChild1s && erpCreditChild1s.size()>=0){//
                 for (ErpCreditEquipment erpCreditChild1:erpCreditChild1s){
                     eqmFtIntalls = 0.0;//定义台数初始值
+
                     powerDeliveredAssets=0.0;//交付使用价值初始值
                     transferOfPower2 = new TransferOfEquipment();//定义设备表对象
                     transferOfPower2.setPowerId(erpCredit.getItemId());//赋值项目定义编号
                     transferOfPower2.setPowerName(erpCredit.getItemName());//添加项目名称
                     transferOfPower2.setPowerArea("-");//线路起始地带
                     transferOfPower2.setPowerDepartment(ExportUtilCalculate.POWER_DEPARTMENT);//添加保管
+//                    if (null!=erpCredit.getConsInstallFee()&& null != erpCreditChild1.getEqmBookedFee1()){//得到分摊后安装费
+//                        eqmFtIntalls= erpCredit.getConsInstallFee()/erpCreditChild1.getEqmBookedFee1();
+//                        eqmFtIntalls = eqmFtIntalls*erpCreditChild1.getEqmBookedFee1();
+//                        eqmFtIntalls = eqmFtIntalls/erpCreditChild1s.size();
+//                    }
                     if (null!=erpCredit.getConsInstallFee()&& null != erpCreditChild1.getEqmBookedFee1()){//得到分摊后安装费
-                        eqmFtIntalls=erpCredit.getConsInstallFee()/erpCreditChild1.getEqmBookedFee1();
-                        eqmFtIntalls = eqmFtIntalls*erpCreditChild1.getEqmBookedFee1();
-                        eqmFtIntalls = eqmFtIntalls/erpCreditChild1s.size();
+                        eqmFtIntalls= erpCreditChild1.getEqmBookedFee1()/powerValueTotal;
+                        eqmFtIntalls = eqmFtIntalls*powerInstallFee;
                     }
                     if (null!=erpCreditChild1.getEqmNumbers()){//得到配变数量(erp账户中设备台数)
                         transferOfPower2.setPowerNumber(decimalFormat1.format(erpCreditChild1.getEqmNumbers()));
@@ -629,46 +825,42 @@ public class ExportUtilCalculate {
                     }
                     //配电容量
                     transferOfPower2.setPowerCapacity(erpCreditChild1.getEqmMaterialDetails1());
-                    //设备价值
-                    if (null!=erpCreditChild1.getEqmBookedFee1()){//如果入账金额不为空
-                        if (null!=transferOfPower2.getPowerCapacity()&& null == erpCredit.getTenKvModel()){
-                            powerValue=erpCreditChild1.getEqmBookedFee1()+eqmFtIntalls+erpCreditMaterial;//价值合计 设备入账金额+安装费(安装费按比例分摊)
-                            transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
+                    //安装费用
+                    if (null!=transferOfPower2.getPowerCapacity()&&null==erpCredit.getTenKvModel()){
+                        powerInstall= erpCreditChild1.getEqmBookedFee1()/powerValueTotal*materialTotal;
+                        if (null!=erpCredit.getConsInstallFee()){
+                            powerInstall = powerInstall+(erpCreditChild1.getEqmBookedFee1()/powerValueTotal*erpCredit.getConsInstallFee());
                         }else {
-                            powerValue=erpCreditChild1.getEqmBookedFee1();//价值合计 设备入账金额
-                            transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
+                            powerInstall = 0.0;
                         }
-                        powerDeliveredAssets +=powerValue;//交付使用价值合计
-                        powerValueAll+=powerValue;//合计//设备价值合计
+                        transferOfPower2.setPowerInstallFee(decimalFormat.format(powerInstall));
                     }else {
-                        powerValue=erpCreditChild1.getEqmBookedFee1();
-                        transferOfPower2.setPowerValue(decimalFormat.format(powerValue));
-                        powerDeliveredAssets+=powerValue;
-                        powerValueAll+=powerValue;//合计
+                        powerInstall = 0.0;
+                        transferOfPower2.setPowerInstallFee("0");
                     }
-                    //计算摊入费用
-//                    powerEqmMater = Double.parseDouble(transferOfPower2.getPowerValue())+powerInstallFee;//设备价值加上安装费设备价值
-//                    if (erpCredit.getOtherTotalFee()!=null){
-//                        powerStandInFee=Double.parseDouble(transferOfPower2.getPowerValue())/powerEqmMater*erpCredit.getOtherTotalFee();
-//                    }else {
-//                        powerStandInFee =0.0;
-//                    }
-                    powerEqmMater = powerValueTotal+powerInstallFee;//设备价值加上安装费设备价
-                    if (erpCredit.getOtherTotalFee()!=null){
-                        powerStandInFee=Double.parseDouble(transferOfPower2.getPowerValue())/powerEqmMater*erpCredit.getOtherTotalFee();
+                    powerDeliveredAssets+=powerInstall;
+                    powerInstallTatol+=powerInstall;
+                    //设备价值
+                    if (null!=erpCreditChild1.getEqmBookedFee1()){
+                        powerValue = erpCreditChild1.getEqmBookedFee1();
+                        transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
                     }else {
-                        powerStandInFee =0.0;
+                        powerValue = erpCreditChild1.getEqmBookedFee1();
                     }
-//                    if (null==erpCredit.getTenKvModel()){
-//                        powerStandInFee = erpCredit.getOtherTotalFee();
-//                    }
-                    transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFee));//赋值设备分摊费用
-                    if (null!=erpCredit.getConsInstallFee()){
-                        powerDeliveredAssets+=powerStandInFee;//交付使用费用累加
-                        powerStandInFeeAll+=powerStandInFee;//分摊费用累加W
+                    powerValueAll += powerValue;
+                    powerDeliveredAssets+=powerValue;
+
+                    //摊入
+                    powerEqmMater = powerValueTotal+powerInstallFee;//===所有的设备价值+安装费+材料费
+                    if (Double.valueOf(transferOfPower2.getPowerValue())!=0.0){
+                        powerStandInFee=Double.valueOf(transferOfPower2.getPowerValue())/powerEqmMater*erpCredit.getOtherTotalFee();
                     }else {
-                        transferOfPower2.setPowerStandInFee("-");//赋值设备分摊费用
+                        powerStandInFee =0.0;
                     }
+                    transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFee));//赋值设备分摊费用
+                    powerDeliveredAssets+=powerStandInFee;//交付使用费用累加
+                    powerStandInFeeAll+=powerStandInFee;//分摊费用累加W
+
 
                     //添加资产类别
                     if (transferOfPower2.getPowerCapacity().contains(POWER_BDZ)){
@@ -692,6 +884,7 @@ public class ExportUtilCalculate {
         transferOfPower2 = new TransferOfEquipment();
         transferOfPower2.setPowerName(POWER_HJ);
         transferOfPower2.setPowerNumber(decimalFormat1.format(eqmNumbersAll));//配电数量合计
+        transferOfPower2.setPowerInstallFee(decimalFormat1.format(powerInstallTatol));//安装费合计
         transferOfPower2.setPowerValue(decimalFormat.format(powerValueAll));//计量价值合计
         transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFeeAll));//摊入费用合计
         transferOfPower2.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));//交付使用资产价值合计
@@ -779,70 +972,6 @@ public class ExportUtilCalculate {
         }
         return generalSituation;
     }
-//    //资产总表
-//    public static List<TheAssetsTotal> getTheAssetsTotal(List<ErpCredit> erpCredits){
-//        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
-//        List<TheAssetsTotal> theAssetsTotals = new ArrayList<TheAssetsTotal>();
-//        TheAssetsTotal theAssetsTotal1 = new TheAssetsTotal();
-//        TheAssetsTotal theAssetsTotal2 = new TheAssetsTotal();
-//        TheAssetsTotal theAssetsTotal3 = new TheAssetsTotal();
-//        Double buildProject=0.0;//建筑工程
-//        Double intallProject=0.0;//安装工程费
-//        Double equipmentValue=0.0;//设备价值
-//        Double costSharing=0.0;//分摊费用
-//        Double deliveryCostValue=0.0;//交付使用资产价值
-//        Double equipmentValue1=0.0;//设备价值
-//        Double costSharing1=0.0;//分摊费用
-//        Double deliveryCostValue1=0.0;//交付使用资产价值
-//        List<TransferOfPowerLine> transferOfPower1s = getTransFerPower1(erpCredits);//得到线路表
-//        List<TransferOfEquipment> transferOfPower2s = getTransferOfPower2(erpCredits);//得到设备表
-//        for (int i = 0; i < transferOfPower1s.size(); i++) {
-//            if (i!=transferOfPower1s.size()-1){
-//                if (null!= transferOfPower1s.get(i).getPowerBuildFee()){//建筑
-//                    buildProject+=Double.parseDouble(transferOfPower1s.get(i).getPowerBuildFee());
-//                }
-//                if (null!=transferOfPower1s.get(i).getPowerInstallFee()&&!transferOfPower1s.get(i).getPowerInstallFee().equals("-")){
-//                    intallProject+=Double.parseDouble(transferOfPower1s.get(i).getPowerInstallFee());
-//                }
-//                if (null!=transferOfPower1s.get(i).getPowerStandInFee()&&!transferOfPower1s.get(i).getPowerStandInFee().equals("-")){//分摊费用
-//                    costSharing+=Double.parseDouble(transferOfPower1s.get(i).getPowerStandInFee());
-//                }
-//                if (null!=transferOfPower1s.get(i).getPowerDeliveredAssets()){
-//                    deliveryCostValue+=Double.parseDouble(transferOfPower1s.get(i).getPowerDeliveredAssets());
-//                }
-//            }
-//        }
-//        theAssetsTotal1.setBuildProject(decimalFormat.format(buildProject));//添加建筑费
-//        theAssetsTotal1.setIntallProject(decimalFormat.format(intallProject));//添加设备费
-//        theAssetsTotal1.setCostSharing(decimalFormat.format(costSharing));
-//        theAssetsTotal1.setDeliveryCostValue(decimalFormat.format(deliveryCostValue));
-//        for (int i = 0; i < transferOfPower2s.size(); i++) {
-//            if (i!=transferOfPower2s.size()-1){
-//                if (null!=transferOfPower2s.get(i).getPowerValue()){//设备价值
-//                    equipmentValue1+=Double.parseDouble(transferOfPower2s.get(i).getPowerValue());
-//                }
-//                if (null!=transferOfPower2s.get(i).getPowerStandInFee()){
-//                    costSharing1+=Double.parseDouble(transferOfPower2s.get(i).getPowerStandInFee());
-//                }
-//                if (null!=transferOfPower2s.get(i).getPowerDeliveredAssets()){
-//                    deliveryCostValue1 += Double.parseDouble(transferOfPower2s.get(i).getPowerDeliveredAssets());
-//                }
-//            }
-//        }
-//        theAssetsTotal2.setEquipmentValue(decimalFormat.format(equipmentValue1));
-//        theAssetsTotal2.setCostSharing(decimalFormat.format(costSharing1));
-//        theAssetsTotal2.setDeliveryCostValue(decimalFormat.format(deliveryCostValue1));
-//        //添加三
-//        theAssetsTotal3.setBuildProject(decimalFormat.format(buildProject));
-//        theAssetsTotal3.setIntallProject(decimalFormat.format(intallProject));
-//        theAssetsTotal3.setEquipmentValue(decimalFormat.format(equipmentValue1));
-//        theAssetsTotal3.setCostSharing(decimalFormat.format(costSharing+costSharing1));
-//        theAssetsTotal3.setDeliveryCostValue(decimalFormat.format(deliveryCostValue+deliveryCostValue1));
-//        theAssetsTotals.add(theAssetsTotal3);
-//        theAssetsTotals.add(theAssetsTotal1);
-//        theAssetsTotals.add(theAssetsTotal2);
-//        return theAssetsTotals;
-//    }
     //资产总表
     public static List<TheAssetsTotal> getTheAssetsTotal(List<ErpCredit> erpCredits){
         DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
@@ -863,16 +992,16 @@ public class ExportUtilCalculate {
         for (int i = 0; i < transferOfPower1s.size(); i++) {
             if (i==transferOfPower1s.size()-1){
                 if (null!= transferOfPower1s.get(i).getPowerBuildFee()){//建筑
-                    buildProject=Double.parseDouble(transferOfPower1s.get(i).getPowerBuildFee());
+                    buildProject=Double.valueOf(transferOfPower1s.get(i).getPowerBuildFee());
                 }
                 if (null!=transferOfPower1s.get(i).getPowerInstallFee()&&!transferOfPower1s.get(i).getPowerInstallFee().equals("-")){
-                    intallProject=Double.parseDouble(transferOfPower1s.get(i).getPowerInstallFee());
+                    intallProject=Double.valueOf(transferOfPower1s.get(i).getPowerInstallFee());
                 }
                 if (null!=transferOfPower1s.get(i).getPowerStandInFee()&&!transferOfPower1s.get(i).getPowerStandInFee().equals("-")){//分摊费用
-                    costSharing=Double.parseDouble(transferOfPower1s.get(i).getPowerStandInFee());
+                    costSharing=Double.valueOf(transferOfPower1s.get(i).getPowerStandInFee());
                 }
                 if (null!=transferOfPower1s.get(i).getPowerDeliveredAssets()){
-                    deliveryCostValue=Double.parseDouble(transferOfPower1s.get(i).getPowerDeliveredAssets());
+                    deliveryCostValue=Double.valueOf(transferOfPower1s.get(i).getPowerDeliveredAssets());
                 }
             }
         }
@@ -883,13 +1012,13 @@ public class ExportUtilCalculate {
         for (int i = 0; i < transferOfPower2s.size(); i++) {
             if (i==transferOfPower2s.size()-1){
                 if (null!=transferOfPower2s.get(i).getPowerValue()){//设备价值
-                    equipmentValue1=Double.parseDouble(transferOfPower2s.get(i).getPowerValue());
+                    equipmentValue1=Double.valueOf(transferOfPower2s.get(i).getPowerValue());
                 }
                 if (null!=transferOfPower2s.get(i).getPowerStandInFee()){
-                    costSharing1=Double.parseDouble(transferOfPower2s.get(i).getPowerStandInFee());
+                    costSharing1=Double.valueOf(transferOfPower2s.get(i).getPowerStandInFee());
                 }
                 if (null!=transferOfPower2s.get(i).getPowerDeliveredAssets()){
-                    deliveryCostValue1 = Double.parseDouble(transferOfPower2s.get(i).getPowerDeliveredAssets());
+                    deliveryCostValue1 = Double.valueOf(transferOfPower2s.get(i).getPowerDeliveredAssets());
                 }
             }
         }

BIN
src/main/resources/freemarker/excelmodel/completionModel.xlsx