Переглянути джерело

Merge remote-tracking branch 'origin/master'

yue 5 роки тому
батько
коміт
15013b746d

+ 3 - 3
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/service/ErpCreditService.java

@@ -197,13 +197,13 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
             ExportUtil.getSheetOverView(sheetOverView,erpCreditList,maintainDatas);
             ExportUtil.getSheetView(sheetView,erpCreditList,maintainDatas,workbook);//调用一览表写入方法
             ExportUtil.getSheetOtherFee(sheetOtherFee,erpCreditList,maintainDatas);
-            ExportUtil.getSheetAssetsTotal(sheetAssetsTotal,erpCreditList);
+            ExportUtil.getSheetAssetsTotal(sheetAssetsTotal,erpCreditList,maintainDatas);
             ExportUtil.getSheetLine1(sheetLine1,erpCreditList,workbook);
-            ExportUtil.getSheetEquip(sheetEquip,erpCreditList,workbook);
+            ExportUtil.getSheetEquip(sheetEquip,erpCreditList,maintainDatas,workbook);
             ExportUtil.getSheetEquipMaterial(sheetEquipMaterial,erpCreditList,workbook);
             ExportUtil.getSheetSettlement(sheetSettlement,erpCreditList,maintainDatas);
             ExportUtil.getSheetLine2(sheetLine2,erpCreditList,workbook);
-            ExportUtil.getSheetEquip2(sheetEquip2,erpCreditList,workbook);
+            ExportUtil.getSheetEquip2(sheetEquip2,erpCreditList,maintainDatas,workbook);
             workbook.write(fos);
             fos.flush();
             fos.close();

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

@@ -301,14 +301,14 @@ public class ExportUtil {
        }
    }
    //移交资产—配电网资产一览表(设备)
-   public static void getSheetEquip(Sheet sheet,List<ErpCredit> erpCredits,Workbook workbook){
+   public static void getSheetEquip(Sheet sheet,List<ErpCredit> erpCredits,List<MaintainData> maintainDataList,Workbook workbook){
       if (sheet!=null){
           CellStyle style=getCellStyleFont(workbook);
           CellStyle cellStyle = getCellStyle(workbook);
           XSSFRow row = (XSSFRow) sheet.createRow(4);
           XSSFCell cell = row.getCell(0);
           TransferOfEquipment transferOfPower2 = null;
-          List<TransferOfEquipment> transferOfPower2s = ExportUtilCalculate.getTransferOfPower2(erpCredits);
+          List<TransferOfEquipment> transferOfPower2s = ExportUtilCalculate.getTransferOfPower2(erpCredits,maintainDataList);
           for (int i = 0; i < transferOfPower2s.size(); i++) {
               transferOfPower2=transferOfPower2s.get(i);
               row = (XSSFRow) sheet.createRow((int)i+4);
@@ -639,14 +639,14 @@ public class ExportUtil {
         }
     }
     //移交资产—配电网资产一览表(设备)2
-    public static void getSheetEquip2(Sheet sheet,List<ErpCredit> erpCredits,Workbook workbook){
+    public static void getSheetEquip2(Sheet sheet,List<ErpCredit> erpCredits,List<MaintainData> maintainDataList,Workbook workbook){
         if (sheet!=null){
             CellStyle style=getCellStyleFont(workbook);
             CellStyle cellStyle = getCellStyle(workbook);
             XSSFRow row = (XSSFRow) sheet.createRow(4);
             XSSFCell cell = row.getCell(0);
             TransferOfEquipment transferOfPower2 = null;
-            List<TransferOfEquipment> transferOfPower2s = ExportUtilCalculate.getTransferOfPower2(erpCredits);
+            List<TransferOfEquipment> transferOfPower2s = ExportUtilCalculate.getTransferOfPower2(erpCredits,maintainDataList);
             for (int i = 0; i <transferOfPower2s.size(); i++) {
                 transferOfPower2=transferOfPower2s.get(i);
                 row = (XSSFRow) sheet.createRow((int)i+4);
@@ -804,12 +804,12 @@ public class ExportUtil {
        }
     }
     //资产总表
-    public static void getSheetAssetsTotal(Sheet sheet,List<ErpCredit> erpCredits){
+    public static void getSheetAssetsTotal(Sheet sheet,List<ErpCredit> erpCredits,List<MaintainData> maintainDataList){
        if (sheet!=null){
            XSSFRow row = (XSSFRow) sheet.getRow(0);
            XSSFCell cell = row.getCell(0);
            TheAssetsTotal theAssetsTotal = null;
-           List<TheAssetsTotal> theAssetsTotals = ExportUtilCalculate.getTheAssetsTotal(erpCredits);
+           List<TheAssetsTotal> theAssetsTotals = ExportUtilCalculate.getTheAssetsTotal(erpCredits,maintainDataList);
            for (int i = 0; i < theAssetsTotals.size(); i++) {
                theAssetsTotal = theAssetsTotals.get(i);
                row = (XSSFRow) sheet.getRow((int)i+5);

+ 289 - 82
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/ExportUtilCalculate.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.sg.financial.erpcredit.util;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.*;
 import com.jeeplus.modules.sg.financial.settlement.entity.MaintainData;
 
+import java.sql.SQLOutput;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -479,7 +480,7 @@ public class ExportUtilCalculate {
     }
 
     /**
-     * 移交资产—配电网资产一览表(线路)
+     * 移交资产—配电网资产一览表(线路) 所有
      * @return
      */
     public static List<TransferOfPowerLine> getTransFerPower1(List<ErpCredit> erpCredits){
@@ -487,31 +488,14 @@ public class ExportUtilCalculate {
         List<TransferOfPowerLine> transferOfPower1s = new ArrayList<TransferOfPowerLine>();//创建一个线路集合
         TransferOfPowerLine transferOfPower1 = null;//定义线路对象
         List<ErpCreditEquipment> erpCreditChild1s = null;//定义设备对象
-
         Double materialTotal = 0.0;//材料费总计
-
-
-        Double eqmNumbers = 0.0;//总容量 //分摊后安装费
-        Double eqmBookedFee=0.0;//设备入账金额
-        Double eqmValue = 0.0;//相同项目定义号合计
+        Double eqmValue = 0.0;//相同项目定义号合计:所有设备费
         Double standInFee=0.0;//摊入费用
-        Double powerDeliveredAssets=0.0;//交付知产使用价值
-        //合计
-        Double powerTenKvLineLengthAll=0.0;//10kv线路长度
-        Double buildFeeAll=0.0;//建筑费用合计
-        Double installFeeAll=0.0;//安装费用合计
-        Double standInFeeAll=0.0;//摊入费用合计
-        Double powerDeliveredAssetsAll=0.0;//交付知产使用价值合计
         for (ErpCredit erpCredit:erpCredits){//循环erp账户项目
-            materialTotal = 0.0;//材料费合计赋予初始值
-            standInFee = 0.0;//摊入费用赋予初始值
-            powerDeliveredAssets=0.0;//交付知产使用加赋予初始值
             erpCreditChild1s = erpCredit.getErpCreditChild1s();//获取设备集合
             materialTotal = getErpCreditMaterial(erpCredit);//得到材料费合计
             if (null!=erpCreditChild1s&&erpCreditChild1s.size()>=0){
-                eqmNumbers = 0.0;//赋予初始值
                 eqmValue = 0.0;//赋予初始值
-                eqmBookedFee=0.0;//入账金额赋予初始值
                 for (ErpCreditEquipment erpCreditEquipment:erpCreditChild1s){//所有设备费合计
                     eqmValue+=erpCreditEquipment.getEqmBookedFee1();
                 }
@@ -526,7 +510,6 @@ public class ExportUtilCalculate {
             transferOfPower1.setPowerDepartment(ExportUtilCalculate.POWER_DEPARTMENT);//添加保管
             if (null!=erpCredit.getTenKvItsLine()) {//其中 10kv线路 10kv线路长度
                 transferOfPower1.setPowerTenKvLineLength(decimalFormat.format(erpCredit.getTenKvItsLine()));//添加10kv线路
-                powerTenKvLineLengthAll+=erpCredit.getTenKvItsLine();//交付使用资产价值
             }
             if (null!=erpCredit.getTenKvModel()){//10kv电缆架空导线型号
                 transferOfPower1.setPowerTenKvCableType(erpCredit.getTenKvModel());
@@ -537,13 +520,9 @@ public class ExportUtilCalculate {
             }
             if (null!=erpCredit.getConsBuildingFee()){//建筑费
                 transferOfPower1.setPowerBuildFee(decimalFormat.format(erpCredit.getConsBuildingFee()+materialTotal));
-                powerDeliveredAssets+=erpCredit.getConsBuildingFee()+materialTotal;//交付使用资产价值
-                buildFeeAll+=erpCredit.getConsBuildingFee()+materialTotal;//建筑费用合计
             }
             if (null!=erpCredit.getConsInstallFee()&&erpCredit.getTenKvModel()!=null){//安装费
                 transferOfPower1.setPowerInstallFee(decimalFormat.format(erpCredit.getConsInstallFee()+materialTotal));//添加安装费
-                powerDeliveredAssets+=erpCredit.getConsInstallFee()+materialTotal;//交付使用资产价值
-                installFeeAll+=erpCredit.getConsInstallFee()+materialTotal;//建筑费用合计
             }else {
                 transferOfPower1.setPowerInstallFee("-");
             }
@@ -555,8 +534,6 @@ public class ExportUtilCalculate {
                         standInFee = standInFee*erpCredit.getOtherTotalFee();//乘其他费用合计
                     }
                     transferOfPower1.setPowerStandInFee(decimalFormat.format(standInFee));//添加摊入费用
-                    powerDeliveredAssets+=standInFee;//交付使用资产价值
-                    standInFeeAll+=standInFee;//摊入费用合计
                 }
             }else {
                 //摊入费用
@@ -566,56 +543,96 @@ public class ExportUtilCalculate {
                     standInFee = standInFee*erpCredit.getOtherTotalFee();//乘其他费用合计
                 }
                 transferOfPower1.setPowerStandInFee(decimalFormat.format(standInFee));//添加摊入费用
-                powerDeliveredAssets+=standInFee;//交付使用资产价值
-                standInFeeAll+=standInFee;//摊入费用合计
-            }
-            //添加交付使用资产价值
-            if (!transferOfPower1.getPowerInstallFee().equals("-")||null!=transferOfPower1.getPowerBuildFee()){
-                transferOfPower1.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssets));
-                powerDeliveredAssetsAll+=powerDeliveredAssets;//交付费用合计
             }
             transferOfPower1s.add(transferOfPower1);//添加到集合中
         }
-        transferOfPower1 = new TransferOfPowerLine();
-        //添加 合计金额
-        transferOfPower1.setPowerName(POWER_HJ);
-        transferOfPower1.setPowerTenKvLineLength(decimalFormat.format(powerTenKvLineLengthAll));
-        transferOfPower1.setPowerBuildFee(decimalFormat.format(buildFeeAll));
-        transferOfPower1.setPowerInstallFee(decimalFormat.format(installFeeAll));
-        transferOfPower1.setPowerStandInFee(decimalFormat.format(standInFeeAll));
-        transferOfPower1.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));
-        transferOfPower1s.add(transferOfPower1);
-        return transferOfPower1s;
+        List<TransferOfPowerLine> powerDeliveredAssets1 = getPowerDeliveredAssets(transferOfPower1s);
+        List<TransferOfPowerLine> transFerPowerLineTotal = getTransFerPowerLineTotal(powerDeliveredAssets1);
+        return transFerPowerLineTotal;
+    }
+    //移交资产一览表   交付使用知产价值
+    public static List<TransferOfPowerLine> getPowerDeliveredAssets(List<TransferOfPowerLine> lineList){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        Double powerDeliveredAssets=0.0;//交付知产使用价值
+        for (TransferOfPowerLine transferOfPowerLine:lineList){
+            powerDeliveredAssets=0.0;//交付知产使用价值
+            if (null!=transferOfPowerLine.getPowerBuildFee()){//建筑费不为空
+                powerDeliveredAssets+=Double.valueOf(transferOfPowerLine.getPowerBuildFee());
+            }
+            if (null!=transferOfPowerLine.getPowerInstallFee()){//安装费不为空
+                if (!transferOfPowerLine.getPowerInstallFee().equals("-")){
+                    powerDeliveredAssets+=Double.valueOf(transferOfPowerLine.getPowerInstallFee());
+                }
+            }
+            //摊入费用不为空
+            if (null!=transferOfPowerLine.getPowerStandInFee()){
+                powerDeliveredAssets+=Double.valueOf(transferOfPowerLine.getPowerStandInFee());
+                transferOfPowerLine.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssets));
+            }
+            //添加交付使用知产
+        }
+        return lineList;
+    }
+    //移交资产一览表合计
+    public static  List<TransferOfPowerLine> getTransFerPowerLineTotal(List<TransferOfPowerLine> lineList){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        Double powerTenKvLineLengthAll=0.0;//10kv线路长度
+        Double buildFeeAll=0.0;//建筑费用合计
+        Double installFeeAll=0.0;//安装费用合计
+        Double standInFeeAll=0.0;//摊入费用合计
+        Double powerDeliveredAssetsAll=0.0;//交付知产使用价值合计
+        TransferOfPowerLine transferOf = new TransferOfPowerLine();
+        for (TransferOfPowerLine transferOfPowerLine:lineList){
+            //10kv线路长度合计
+            if (null!=transferOfPowerLine.getPowerTenKvLineLength()){
+                powerTenKvLineLengthAll+=Double.valueOf(transferOfPowerLine.getPowerTenKvLineLength());//一览表中10kv长度的合计
+            }
+            //一览表中建筑费用合计
+            if (null!=transferOfPowerLine.getPowerBuildFee()){
+                buildFeeAll+=Double.valueOf(transferOfPowerLine.getPowerBuildFee());
+            }
+            //一览表中安装费用合计
+            if (null!=transferOfPowerLine.getPowerInstallFee()){
+                if (!transferOfPowerLine.getPowerInstallFee().equals("-")){
+                    installFeeAll+=Double.valueOf(transferOfPowerLine.getPowerInstallFee());
+                }
+            }
+            //一览表中摊入费用合计
+            if (null!=transferOfPowerLine.getPowerStandInFee()){
+                standInFeeAll+=Double.valueOf(transferOfPowerLine.getPowerStandInFee());
+            }
+            //交付使用资产价值合计
+            if (null!=transferOfPowerLine.getPowerDeliveredAssets()){
+                powerDeliveredAssetsAll+=Double.valueOf(transferOfPowerLine.getPowerDeliveredAssets());
+            }
+        }
+        transferOf.setPowerTenKvLineLength(decimalFormat.format(powerTenKvLineLengthAll));
+        transferOf.setPowerBuildFee(decimalFormat.format(buildFeeAll));
+        transferOf.setPowerInstallFee(decimalFormat.format(installFeeAll));
+        transferOf.setPowerStandInFee(decimalFormat.format(standInFeeAll));
+        transferOf.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));
+        lineList.add(transferOf);
+        return lineList;
     }
-
     /**
-     * 移交资产—配电网资产一览表(设备)
+     * 移交资产—配电网资产一览表(设备)  合计
      * @param erpCredits
      * @return
      */
-    public static List<TransferOfEquipment> getTransferOfPower2(List<ErpCredit> erpCredits){
+    public static List<TransferOfEquipment> getTransferOfPowerEquList(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 powerInstall = 0.0;//安装费
-        Double powerInstallTatol = 0.0;//安装费合计
-
         Double materialTotal = 0.0;//材料费总计
         Double powerValueTotal = 0.0;//当前erp账户 所有设备费合计
-        Double powerValue = 0.0;
+        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);
@@ -641,21 +658,17 @@ public class ExportUtilCalculate {
             }
             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= erpCreditChild1.getEqmBookedFee1()/powerValueTotal;
+                        eqmFtIntalls = erpCreditChild1.getEqmBookedFee1()/powerValueTotal;
                         eqmFtIntalls = eqmFtIntalls*powerInstallFee;
                     }
                     if (null!=erpCreditChild1.getEqmNumbers()){//得到配变数量(erp账户中设备台数)
                         transferOfPower2.setPowerNumber(decimalFormat1.format(erpCreditChild1.getEqmNumbers()));
-                        eqmNumbersAll+=erpCreditChild1.getEqmNumbers();//配电数量合计金额累加
                     }
                     if (null!=erpCreditChild1.getEqmUnit()){//计量单位
                         transferOfPower2.setPowerUnit(erpCreditChild1.getEqmUnit());
@@ -675,8 +688,6 @@ public class ExportUtilCalculate {
                         powerInstall = 0.0;
                         transferOfPower2.setPowerInstallFee("0");
                     }
-                    powerDeliveredAssets+=powerInstall;
-                    powerInstallTatol+=powerInstall;
                     //设备价值
                     if (null!=erpCreditChild1.getEqmBookedFee1()){
                         powerValue = erpCreditChild1.getEqmBookedFee1();
@@ -684,9 +695,6 @@ public class ExportUtilCalculate {
                     }else {
                         powerValue = erpCreditChild1.getEqmBookedFee1();
                     }
-                    powerValueAll += powerValue;
-                    powerDeliveredAssets+=powerValue;
-
                     //摊入
                     powerEqmMater = powerValueTotal+powerInstallFee;//===所有的设备价值+安装费+材料费
                     if (Double.valueOf(transferOfPower2.getPowerValue())!=0.0){
@@ -695,10 +703,6 @@ public class ExportUtilCalculate {
                         powerStandInFee =0.0;
                     }
                     transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFee));//赋值设备分摊费用
-                    powerDeliveredAssets+=powerStandInFee;//交付使用费用累加
-                    powerStandInFeeAll+=powerStandInFee;//分摊费用累加W
-
-
                     //添加资产类别
                     if (transferOfPower2.getPowerCapacity().contains(POWER_BDZ)){
                         transferOfPower2.setPowerAssetClass(POWER_BDZCOUNT);
@@ -713,22 +717,77 @@ public class ExportUtilCalculate {
                     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.setPowerInstallFee(decimalFormat1.format(powerInstallTatol));//安装费合计
-        transferOfPower2.setPowerValue(decimalFormat.format(powerValueAll));//计量价值合计
-        transferOfPower2.setPowerStandInFee(decimalFormat.format(powerStandInFeeAll));//摊入费用合计
-        transferOfPower2.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));//交付使用资产价值合计
-        transferOfPower2s.add(transferOfPower2);
+//        List<TransferOfEquipment> powerDeliveredAssets2 = getPowerDeliveredAssets2(transferOfPower2s);
+//        List<TransferOfEquipment> transferOfPowerTotal = getTransferOfPowerTotal(powerDeliveredAssets2);
         return transferOfPower2s;
     }
+    //移交生产资产2 - 设备表 交付使用价值 安装费+设备费+摊入费用
+    public static List<TransferOfEquipment> getPowerDeliveredAssets2(List<TransferOfEquipment> transferOfEquipments){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        Double powerDeliveredAssets=0.0;//交付使用资产价值
+        for (TransferOfEquipment transferOfEquipment:transferOfEquipments){
+            powerDeliveredAssets = 0.0;
+            //如果安装费不为空
+            if (null!=transferOfEquipment.getPowerInstallFee()){
+                powerDeliveredAssets+=Double.valueOf(transferOfEquipment.getPowerInstallFee());
+            }
+            //如果设备价值不为空
+            if (null!=transferOfEquipment.getPowerValue()){
+                powerDeliveredAssets+=Double.valueOf(transferOfEquipment.getPowerValue());
+            }
+            //如果摊入费用不为空
+            if (null!=transferOfEquipment.getPowerStandInFee()){
+                powerDeliveredAssets+=Double.valueOf(transferOfEquipment.getPowerStandInFee());
+            }
+            //如果交付使用资产总值
+            transferOfEquipment.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssets));
+        }
+        return transferOfEquipments;
+    }
+
+    //移交生产总值-设备表 安装费合计 建筑费合计 交付使用价值合计
+    public static List<TransferOfEquipment> getTransferOfPowerTotal(List<TransferOfEquipment> transferOfEquipments){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        Double eqmNumbersAll = 0.0;//数量合计
+        Double powerValueAll=0.0;//设备价值合计
+        Double powerStandInFeeAll=0.0;//摊入费用
+        Double powerDeliveredAssetsAll=0.0;//交付使用资产价值
+        Double powerInstallAll = 0.0;//安装费合计
+        for (TransferOfEquipment transferOfEquipment:transferOfEquipments){
+            //如果配变数量合计
+            if (null!=transferOfEquipment.getPowerNumber()){
+                eqmNumbersAll+=Double.valueOf(transferOfEquipment.getPowerNumber());
+            }
+            //安装费合计
+            if (null!=transferOfEquipment.getPowerInstallFee()){//如果安装费用不为空
+                powerInstallAll+=Double.valueOf(transferOfEquipment.getPowerInstallFee());
+            }
+            //设备价值合计
+            if (null!=transferOfEquipment.getPowerValue()){
+                powerValueAll+=Double.valueOf(transferOfEquipment.getPowerValue());
+            }
+            //摊入费用合计
+            if (null!=transferOfEquipment.getPowerStandInFee()){
+                powerStandInFeeAll+=Double.valueOf(transferOfEquipment.getPowerStandInFee());
+            }
+            //交付使用价值合计
+            if (null!=transferOfEquipment.getPowerDeliveredAssets()){
+                powerDeliveredAssetsAll+=Double.valueOf(transferOfEquipment.getPowerDeliveredAssets());
+            }
+        }
+        TransferOfEquipment transferOfEquipment1 = new TransferOfEquipment();
+        transferOfEquipment1.setPowerNumber(decimalFormat.format(eqmNumbersAll));//配电数量合计
+        transferOfEquipment1.setPowerInstallFee(decimalFormat.format(powerInstallAll));//安装费用合计
+        transferOfEquipment1.setPowerValue(decimalFormat.format(powerValueAll));//设备价值合计
+        transferOfEquipment1.setPowerDeliveredAssets(decimalFormat.format(powerDeliveredAssetsAll));//交付使用价值合计
+        transferOfEquipment1.setPowerStandInFee(decimalFormat.format(powerStandInFeeAll));//摊入费用合计
+        transferOfEquipments.add(transferOfEquipment1);
+        return transferOfEquipments;
+    }
     //概况表
     public static GeneralSituation getFeneraSituation(List<ErpCredit> erpCredits, List<MaintainData> maintainDataList){
         DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
@@ -811,7 +870,7 @@ public class ExportUtilCalculate {
         return generalSituation;
     }
     //资产总表
-    public static List<TheAssetsTotal> getTheAssetsTotal(List<ErpCredit> erpCredits){
+    public static List<TheAssetsTotal> getTheAssetsTotal(List<ErpCredit> erpCredits,List<MaintainData> maintainDataList){
         DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
         List<TheAssetsTotal> theAssetsTotals = new ArrayList<TheAssetsTotal>();
         TheAssetsTotal theAssetsTotal1 = new TheAssetsTotal();
@@ -827,7 +886,7 @@ public class ExportUtilCalculate {
         Double costSharing1=0.0;//分摊费用
         Double deliveryCostValue1=0.0;//交付使用资产价值
         List<TransferOfPowerLine> transferOfPower1s = getTransFerPower1(erpCredits);//得到线路表
-        List<TransferOfEquipment> transferOfPower2s = getTransferOfPower2(erpCredits);//得到设备表
+        List<TransferOfEquipment> transferOfPower2s = getTransferOfPower2(erpCredits,maintainDataList);//得到设备表
         for (int i = 0; i < transferOfPower1s.size(); i++) {
             if (i==transferOfPower1s.size()-1){
                 if (null!= transferOfPower1s.get(i).getPowerBuildFee()){//建筑
@@ -911,6 +970,154 @@ public class ExportUtilCalculate {
         return mCompletionProject;
     }
 
+    //设备分摊
+    public static List<TransferOfEquipment> getTransFerEquipmentStandin(List<ErpCredit> erpCreditList, List<MaintainData> maintainDataList){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        Double installDiff = 0.0;//安装差额
+        Double standInDiff = 0.0;//分摊差额
+        String itemId = "";
+        Double installALL=0.0;//一览表安装费用
+        Double otherAll=0.0;//一览表其他费用
+        Double installLine=0.0;//线路安装费用
+        Double installEqu = 0.0;//设备安装费用
+        Double standFeeLine = 0.0;//线路摊入费用
+        Double standFeeEqu = 0.0;//设备摊入费用
+
+        Double totalInstallLineEqu = 0.0;//线路设备的合计金额
+        Double totalStandLineEqu = 0.0;//线路设备的合计金额
+        List<Schedule> scheduleList = getScheduleList(erpCreditList, maintainDataList);//得到一览表
+        System.out.println(scheduleList);
+        List<TransferOfPowerLine> transFerPowerLines = getTransFerPower1(erpCreditList);//得到线路表
+        List<TransferOfEquipment> transferOfPowerEquipments = getTransferOfPowerEquList(erpCreditList);//得到设备表
+        for (Schedule schedule:scheduleList){
+            System.out.println(schedule.getItemId());
+            if (null!=schedule.getItemId()){
+                if (!schedule.getItemId().equals("")){
+                    installDiff = 0.0;//安装差额
+                    standInDiff = 0.0;//分摊差额
+                    if (null!=schedule.getActualIntallProject()){
+                        installALL=Double.valueOf(schedule.getActualIntallProject());//安装费用
+                    }
+                    otherAll=Double.valueOf(schedule.getActualOtherFee());
+                    installLine=0.0;//线路表安装费用
+                    standFeeLine=0.0;//线路表分摊费用
+                    installEqu = 0.0;//设备安装费用
+                    standFeeEqu = 0.0;//设备摊入费用
+                    totalInstallLineEqu = 0.0;//线路设备的合计金额
+                    totalStandLineEqu = 0.0;//线路设备的合计金额
+                    //得到项目id
+                    itemId = schedule.getItemId();
+                    //循环线路表
+                    for (int i = 0; i < transFerPowerLines.size(); i++) {
+                        if (transFerPowerLines.get(i).getPowerId().equals(itemId)){
+                            if (null!=transFerPowerLines.get(i).getPowerInstallFee()){
+                                if (!transFerPowerLines.get(i).getPowerInstallFee().equals("-")){
+                                    installLine = Double.valueOf(transFerPowerLines.get(i).getPowerInstallFee());//一览表安装费用
+                                }
+                            }
+                            if (null!=transFerPowerLines.get(i).getPowerStandInFee()){
+                                standFeeLine = Double.valueOf(transFerPowerLines.get(i).getPowerStandInFee());//一览表分摊费用
+                            }
+                            break;
+                        }
+                    }
+                    //循环设备表
+                    for (int i = 0; i < transferOfPowerEquipments.size(); i++) {
+                        if (transferOfPowerEquipments.get(i).getPowerId().equals(itemId)){
+                            if (Double.valueOf(transferOfPowerEquipments.get(i).getPowerInstallFee())>0){
+                                installEqu += Double.valueOf(transferOfPowerEquipments.get(i).getPowerInstallFee());//设备安装费用
+                            }
+                            if (null!=transferOfPowerEquipments.get(i).getPowerStandInFee()){
+                                standFeeEqu += Double.valueOf(transferOfPowerEquipments.get(i).getPowerStandInFee());//设备分摊费用
+                            }
+                        }
+                    }
+                    //安装差额计算
+                    totalInstallLineEqu = installLine+installEqu;
+                    if (totalInstallLineEqu!=installALL){
+                        if (totalInstallLineEqu>=installALL-0.1&&totalInstallLineEqu<=installALL+0.1){
+                            if (totalInstallLineEqu>installALL){
+                                installDiff = totalInstallLineEqu - installALL;
+                                getEquDiffenert(transferOfPowerEquipments,itemId,installDiff,true,true);
+                            }else {
+                                installDiff = installALL -totalInstallLineEqu;
+                                getEquDiffenert(transferOfPowerEquipments,itemId,installDiff,true,false);
+                            }
+
+                        }
+                    }
+                    //分摊差额计算
+                    totalStandLineEqu = standFeeLine+standFeeEqu;
+                    if (totalStandLineEqu!=otherAll){
+                        if (totalStandLineEqu>=otherAll-0.1&&totalStandLineEqu<=otherAll+0.1){
+                            if (totalStandLineEqu>otherAll){
+                                standInDiff = totalStandLineEqu-otherAll;
+                                getEquDiffenert(transferOfPowerEquipments,itemId,standInDiff,false,true);
+                            }else {
+                                standInDiff = otherAll-totalStandLineEqu;
+                                getEquDiffenert(transferOfPowerEquipments,itemId,standInDiff,false,false);
+                            }
+
+                        }
+                    }
+                }
+            }
+        }
+        return transferOfPowerEquipments;
+    }
+    //分摊差额进入设备费
+    public static void getEquDiffenert(List<TransferOfEquipment> transferOfPowerEquipments,String itemId,Double diff,Boolean flag,Boolean flag1){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        boolean judge = false;
+        Double install = 0.0;
+        Double standin = 0.0;
+        for (TransferOfEquipment transferOfEquipment:transferOfPowerEquipments){
+            install = 0.0;
+            standin = 0.0;
+            judge = false;
+            if (transferOfEquipment.getPowerId().equals(itemId)){
+               if (flag){//如果flag为true  安装费分摊
+                   if (!transferOfEquipment.getPowerInstallFee().equals("0")){
+                       if (flag1){
+                           install = Double.valueOf(transferOfEquipment.getPowerInstallFee())-diff;
+                       }else {
+                           install = Double.valueOf(transferOfEquipment.getPowerInstallFee())+diff;
+                       }
+                       transferOfEquipment.setPowerInstallFee(decimalFormat.format(install));
+                       judge = true;
+                   }
+               }else {
+                   if (!transferOfEquipment.getPowerStandInFee().equals("0")){
+                       if (flag1){
+                           standin = Double.valueOf(transferOfEquipment.getPowerStandInFee())-diff;
+                       }else {
+                           standin = Double.valueOf(transferOfEquipment.getPowerStandInFee())+diff;
+                       }
+                       transferOfEquipment.setPowerStandInFee(decimalFormat.format(standin));
+                       judge = true;
+                   }
+               }
+            }
+            if (judge){
+                break;
+            }
+        }
+    }
+
+    public static List<TransferOfEquipment> getTransferOfPower2(List<ErpCredit> erpCreditList, List<MaintainData> maintainDataList){
+        List<TransferOfEquipment> transFerEquipmentStandin = getTransFerEquipmentStandin(erpCreditList, maintainDataList);
+        List<TransferOfEquipment> powerDeliveredAssets2 = getPowerDeliveredAssets2(transFerEquipmentStandin);
+        List<TransferOfEquipment> transferOfPowerTotal = getTransferOfPowerTotal(powerDeliveredAssets2);
+        return transferOfPowerTotal;
+    }
+
+
+
+
+
+
+
+
     //材料费合计
     public  static Double getErpCreditMaterial(ErpCredit erpCredit){
         Double materialTotal = 0.0;

+ 10 - 2
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml

@@ -267,7 +267,11 @@
 		phone_style,
 		stay_open_area,
 		ring_network_cabinet,
-		station_dtu
+		station_dtu,
+		status,
+		acquisition_status,
+		construction_status,
+		whether_close_status
 		) VALUES
 		<foreach collection="list" item="item" index="index" separator="," >
 			(
@@ -317,7 +321,11 @@
 			#{item.phoneStyle},
 			#{item.stayOpenArea},
 			#{item.ringNetworkCabinet},
-			#{item.stationDtu}
+			#{item.stationDtu},
+			#{item.status},
+			#{item.acquisitionStatus},
+			#{item.constructionStatus},
+			#{item.whetherCloseStatus}
 		)
 		</foreach>
 	</insert>

+ 23 - 4
src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java

@@ -77,12 +77,31 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 
 	@Transactional(readOnly = false)
 	public void saveList(List<Project> projects) {
+		String status = "0";
+		String acquisitionStatus="0";//领料状态
+		String constructionStatus="0";//施工状态
+		String whetherCloseStatus = "0";//项目是否关闭
+		Project project1 = new Project();
+		List<Project> list = projectMapper.findList(project1);
 		for(Project project:projects){
+			status = "0";
+			acquisitionStatus="0";//领料状态
+			constructionStatus="0";//施工状态
+			whetherCloseStatus = "0";//项目是否关闭
+			for (Project project2:list){
+				if (project.getRequireName().equals(project2.getRequireName())){
+					status = project2.getStatus();
+					acquisitionStatus = project2.getAcquisitionStatus();
+					constructionStatus = project2.getConstructionStatus();
+					whetherCloseStatus = project2.getWhetherCloseStatus();
+					break;
+				}
+			}
 			project.preInsert();
-//			project.setStatus("0");
-//			project.setAcquisitionStatus("0");
-//			project.setConstructionStatus("0");
-//			project.setWhetherCloseStatus("0");
+			project.setStatus(status);
+			project.setAcquisitionStatus(acquisitionStatus);
+			project.setConstructionStatus(constructionStatus);
+			project.setWhetherCloseStatus(whetherCloseStatus);
 		}
 		projectMapper.insertList(projects);
 	}

+ 10 - 10
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectForm.jsp

@@ -76,16 +76,16 @@
 					<td class="width-35">
 						<form:input path="projectBatch" htmlEscape="false"    class="form-control required"/>
 					</td>
-					<td class="width-15 active"><label class="pull-right">物料批次:</label></td>
-					<td class="width-35">
-						<%--<form:input path="suppliesBatch" htmlEscape="false"    class="form-control required"/>--%>
-						<form:select path="suppliesBatch"  class="form-control   simple-select">
-							<form:option value="" label=""/>
-							<c:forEach var="item" items="${batch}">
-								<form:option value="${item.suppliesBatch}" label="${item.suppliesBatch}"/>
-							</c:forEach>
-						</form:select>
-					</td>
+					<%--<td class="width-15 active"><label class="pull-right">物料批次:</label></td>--%>
+					<%--<td class="width-35">--%>
+						<%--&lt;%&ndash;<form:input path="suppliesBatch" htmlEscape="false"    class="form-control required"/>&ndash;%&gt;--%>
+						<%--<form:select path="suppliesBatch"  class="form-control   simple-select">--%>
+							<%--<form:option value="" label=""/>--%>
+							<%--<c:forEach var="item" items="${batch}">--%>
+								<%--<form:option value="${item.suppliesBatch}" label="${item.suppliesBatch}"/>--%>
+							<%--</c:forEach>--%>
+						<%--</form:select>--%>
+					<%--</td>--%>
 				</tr>
 		 	</tbody>
 		</table>

+ 32 - 6
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectList.js

@@ -134,11 +134,11 @@ $(document).ready(function() {
                        width:80,
 					   title: '项目批次'
                }
-              ,{
-                       field: 'suppliesBatch',
-                       width:80,
-                       title: '物资批次'
-                   }
+              // ,{
+              //          field: 'suppliesBatch',
+              //          width:80,
+              //          title: '物资批次'
+              //      }
 		     ]
 		
 		});
@@ -155,7 +155,33 @@ $(document).ready(function() {
             $('#remove').prop('disabled', ! $('#dataTable').bootstrapTable('getSelections').length);
             $('#view,#edit').prop('disabled', $('#dataTable').bootstrapTable('getSelections').length!=1);
         });
-		  
+    $("#btnImport").click(function(){
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title:"导入数据",
+            content: "${ctx}/tag/importExcel" ,
+            btn: ['确定', '关闭'],
+            btn1: function(index, layero){
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/sg/managementcenter/project/import', function (data) {
+                    if(data.success){
+                        jp.success(data.msg);
+                        refresh();
+                    }else{
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function(index){
+                //  jp.close(index);
+            }
+        });
+    });
 
 		
 		

+ 9 - 4
src/main/webapp/webpage/modules/sg/managementcenter/materialproject/materialProjectList.jsp

@@ -49,10 +49,10 @@
 					<label class="label-item single-overflow pull-left" title="项目批次:">项目批次:</label>
 					<form:input path="projectBatch" htmlEscape="false" maxlength="64"  class=" form-control" id="bat"/>
 				</div>
-				<div class="col-xs-12 col-sm-6 col-md-4">
-					<label class="label-item single-overflow pull-left" title="物料批次:">物料批次:</label>
-					<form:input path="suppliesBatch" htmlEscape="false" maxlength="64"  class=" form-control"/>
-				</div>
+				<%--<div class="col-xs-12 col-sm-6 col-md-4">--%>
+					<%--<label class="label-item single-overflow pull-left" title="物料批次:">物料批次:</label>--%>
+					<%--<form:input path="suppliesBatch" htmlEscape="false" maxlength="64"  class=" form-control"/>--%>
+				<%--</div>--%>
 		 <div class="col-xs-12 col-sm-6 col-md-4">
 			<div style="margin-top:26px">
 			  <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
@@ -76,6 +76,11 @@
 	        	<%--</button>--%>
 			<%--</shiro:hasPermission>--%>
 			<shiro:hasPermission name="managementcenter:materialproject:del">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="managementcenter:materialproject:del">
 				<button id="remove" class="btn btn-danger" disabled onclick="deleteAll()">
 	            	<i class="glyphicon glyphicon-remove"></i> 删除
 	        	</button>

+ 1 - 1
src/main/webapp/webpage/modules/sg/managementcenter/project/projectList.js

@@ -58,7 +58,7 @@ $(document).ready(function() {
                    }else if($el.data("item") == "view"){
                        view(row.id);
                    } else if($el.data("item") == "delete"){
-                        jp.confirm('确认要删除该请假表单记录吗?', function(){
+                        jp.confirm('确认要删除该表单记录吗?', function(){
                        	jp.loading();
                        	jp.get("${ctx}/sg/managementcenter/project/delete?id="+row.id, function(data){
                    	  		if(data.success){