|
@@ -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;
|