|
@@ -3,7 +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.io.*;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
@@ -169,46 +169,37 @@ public class ExportUtilCalculate {
|
|
|
public static Schedule getScheduleActual(Schedule schedule, ErpCredit erpCredit){
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
|
|
|
boolean flag = false;
|
|
|
- List<ErpCreditMaterial> erpCreditChild2s = null;//得到材料费金额
|
|
|
- List<ErpCreditEquipment> erpCreditChild1s = null;//得到设备费金额
|
|
|
+ List<ErpCreditEquipment> erpCreditEquipmentList = null;//得到设备费金额
|
|
|
double netAmount=0.0;//入账金额:设备费,材料费
|
|
|
double actualTotalFee=0.0;//合计金额
|
|
|
//循环erpCredit集合
|
|
|
schedule.setItemId(erpCredit.getItemId());//得到项目定义编号
|
|
|
schedule.setItemName(erpCredit.getItemName());//得到项目名称
|
|
|
netAmount = getErpCreditMaterial(erpCredit);//得到材料费
|
|
|
+ Double eqmOneFlagValue = getEqmOneFlagValue(erpCredit.getErpCreditChild1s());//如果设备仅有一条且配变数量为0
|
|
|
//设备费&&erpCredit.getTenKvModel()!=null
|
|
|
if (null!=erpCredit.getConsInstallFee()){
|
|
|
- schedule.setActualIntallProject(decimalFormat.format(netAmount+erpCredit.getConsInstallFee()));
|
|
|
- actualTotalFee=actualTotalFee+netAmount+erpCredit.getConsInstallFee();//合计金额累加
|
|
|
+ schedule.setActualIntallProject(decimalFormat.format(netAmount+erpCredit.getConsInstallFee()+eqmOneFlagValue));
|
|
|
+ actualTotalFee=actualTotalFee+netAmount+erpCredit.getConsInstallFee()+eqmOneFlagValue;//合计金额累加
|
|
|
}
|
|
|
if (null!=erpCredit.getConsBuildingFee()){//如果建筑费不为空
|
|
|
//得到实际建筑工程
|
|
|
- schedule.setActualBuildProject(decimalFormat.format(erpCredit.getConsBuildingFee()+netAmount));
|
|
|
- actualTotalFee+=erpCredit.getConsBuildingFee()+netAmount;//合计金额加上
|
|
|
+ schedule.setActualBuildProject(decimalFormat.format(erpCredit.getConsBuildingFee()+netAmount+eqmOneFlagValue));
|
|
|
+ actualTotalFee+=erpCredit.getConsBuildingFee()+netAmount+eqmOneFlagValue;//合计金额加上
|
|
|
}
|
|
|
- netAmount = 0.0;
|
|
|
- erpCreditChild1s = erpCredit.getErpCreditChild1s();//得到设备费
|
|
|
+ netAmount = 0.0;//此时变为设备费
|
|
|
+ erpCreditEquipmentList = getEquNumbers(erpCredit.getErpCreditChild1s());//当设备台数为0时处理
|
|
|
//判断设备费
|
|
|
- if (null!=erpCreditChild1s&&erpCreditChild1s.size()>0){
|
|
|
- for (ErpCreditEquipment erpCreditChild1:erpCreditChild1s){
|
|
|
- if (null!=erpCreditChild1.getEqmBookedFee1()){
|
|
|
- netAmount+=erpCreditChild1.getEqmBookedFee1();//得到设备费累加(设备价值)
|
|
|
+ if (null!=erpCreditEquipmentList&&erpCreditEquipmentList.size()>0){
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipmentList){
|
|
|
+ if (null!=erpCreditEquipment.getEqmBookedFee1()){
|
|
|
+ netAmount+=erpCreditEquipment.getEqmBookedFee1();//得到设备费累加(设备价值)
|
|
|
flag=true;
|
|
|
}
|
|
|
}
|
|
|
if (flag){
|
|
|
schedule.setActualEquipmentValue(decimalFormat.format(netAmount));//实际设备价值
|
|
|
actualTotalFee+=netAmount;//实际费用累加
|
|
|
-// if (null!=erpCredit.getConsInstallFee()){
|
|
|
-// if (null==erpCredit.getTenKvModel()){
|
|
|
-// schedule.setActualEquipmentValue(decimalFormat.format(netAmount+erpCredit.getConsInstallFee()));//实际设备价值
|
|
|
-// actualTotalFee+=netAmount+erpCredit.getConsInstallFee();//实际费用累加
|
|
|
-// }else {
|
|
|
-// schedule.setActualEquipmentValue(decimalFormat.format(netAmount));//实际设备价值
|
|
|
-// actualTotalFee+=netAmount;//实际费用累加
|
|
|
-// }
|
|
|
-// }
|
|
|
}
|
|
|
flag=false;//数据清0
|
|
|
netAmount=0.0;
|
|
@@ -342,7 +333,25 @@ public class ExportUtilCalculate {
|
|
|
}
|
|
|
return scheduleOther;
|
|
|
}
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 设备材料去重显示2 单价
|
|
|
+ */
|
|
|
+ public static List<MaterialEquipment> getMaterialUnitPrice(List<MaterialEquipment> materialEquipmentList){
|
|
|
+ DecimalFormat decimalFormat = new DecimalFormat("#0.00");
|
|
|
+ Double meUnitPrice=0.0;//单价
|
|
|
+ for (MaterialEquipment materialEquipment:materialEquipmentList){
|
|
|
+ meUnitPrice=0.0;
|
|
|
+ if (null!=materialEquipment.getMeAllPrice()&&null!=materialEquipment.getMeNumber()){
|
|
|
+ if (!materialEquipment.getMeNumber().equals("0.0")&&!materialEquipment.getMeNumber().equals("0")){
|
|
|
+ meUnitPrice = Double.valueOf(materialEquipment.getMeAllPrice())/Double.valueOf(materialEquipment.getMeNumber());
|
|
|
+ materialEquipment.setMeUnitPrice(decimalFormat.format(meUnitPrice));
|
|
|
+ }else {
|
|
|
+ materialEquipment.setMeUnitPrice("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return materialEquipmentList;
|
|
|
+ }
|
|
|
/**
|
|
|
* 设备材料清册去重显示
|
|
|
*/
|
|
@@ -357,35 +366,36 @@ public class ExportUtilCalculate {
|
|
|
List<MaterialEquipment> materialEquipmentList = new ArrayList<MaterialEquipment>();
|
|
|
List<MaterialEquipment> materialEquipments = getMaterialEquipment(erpCredits);
|
|
|
for (MaterialEquipment materialEquipment:materialEquipments){
|
|
|
+ meNumber = Double.valueOf(materialEquipment.getMeNumber());
|
|
|
+ meAllPrice = Double.valueOf(materialEquipment.getMeAllPrice());
|
|
|
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());
|
|
|
+ meNumber = meNumber+Double.valueOf(materialEquipment1.getMeNumber());
|
|
|
+ meAllPrice = meAllPrice+Double.valueOf(materialEquipment1.getMeAllPrice());
|
|
|
materialEquipment1.setMeNumber(decimalFormat.format(meNumber));
|
|
|
- materialEquipment1.setMeUnitPrice(decimalFormat.format(meUnitPrice));
|
|
|
materialEquipment1.setMeAllPrice(decimalFormat.format(meAllPrice));
|
|
|
flag = false;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (flag){
|
|
|
materialEquipment2 = new MaterialEquipment();
|
|
|
materialEquipment2.setMeName(materialEquipment.getMeName());
|
|
|
- materialEquipment2.setMeSupplierName(materialEquipment.getMeSpecifications());
|
|
|
+ materialEquipment2.setMeSupplierName(materialEquipment.getMeSupplierName());
|
|
|
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());
|
|
|
+ materialEquipment2.setMeSpecifications(materialEquipment.getMeSpecifications());
|
|
|
materialEquipmentList.add(materialEquipment2);
|
|
|
}
|
|
|
}
|
|
|
+ List<MaterialEquipment> materialUnitPrice = getMaterialUnitPrice(materialEquipmentList);
|
|
|
return materialEquipmentList;
|
|
|
}
|
|
|
/**
|
|
@@ -427,12 +437,6 @@ public class ExportUtilCalculate {
|
|
|
//得到合计金额
|
|
|
if (null!=erpCreditChild1.getEqmBookedFee1()){
|
|
|
materialEquipment.setMeAllPrice(String.valueOf(erpCreditChild1.getEqmBookedFee1()));
|
|
|
- if (null!=materialEquipment.getMeNumber()&&!materialEquipment.getMeNumber().equals("0.0")){
|
|
|
- count=erpCreditChild1.getEqmBookedFee1()/Double.parseDouble(materialEquipment.getMeNumber());
|
|
|
- materialEquipment.setMeUnitPrice(decimalFormat.format(count));
|
|
|
- }else {
|
|
|
- materialEquipment.setMeUnitPrice(decimalFormat.format(erpCreditChild1.getEqmBookedFee1()));
|
|
|
- }
|
|
|
}else {
|
|
|
materialEquipment.setMeAllPrice("0");
|
|
|
}
|
|
@@ -463,14 +467,6 @@ public class ExportUtilCalculate {
|
|
|
//得到合计金额
|
|
|
if (null!=erpCreditChild2.getMtlBookedFee2()){
|
|
|
materialEquipment.setMeAllPrice(String.valueOf(erpCreditChild2.getMtlBookedFee2()));
|
|
|
- if (null!=materialEquipment.getMeNumber()&&!materialEquipment.getMeNumber().equals("0.0")){
|
|
|
- count=erpCreditChild2.getMtlBookedFee2()/Double.parseDouble(materialEquipment.getMeNumber());
|
|
|
- materialEquipment.setMeUnitPrice(decimalFormat.format(count));
|
|
|
- }else {
|
|
|
- materialEquipment.setMeUnitPrice(decimalFormat.format(erpCreditChild2.getMtlBookedFee2()));
|
|
|
- }
|
|
|
- }else {
|
|
|
- materialEquipment.setMeUnit("");
|
|
|
}
|
|
|
materialEquipments.add(materialEquipment);
|
|
|
}
|
|
@@ -487,19 +483,20 @@ public class ExportUtilCalculate {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
|
|
|
List<TransferOfPowerLine> transferOfPower1s = new ArrayList<TransferOfPowerLine>();//创建一个线路集合
|
|
|
TransferOfPowerLine transferOfPower1 = null;//定义线路对象
|
|
|
- List<ErpCreditEquipment> erpCreditChild1s = null;//定义设备对象
|
|
|
+ List<ErpCreditEquipment> erpCreditEquipmentList = null;//定义设备对象
|
|
|
Double materialTotal = 0.0;//材料费总计
|
|
|
Double eqmValue = 0.0;//相同项目定义号合计:所有设备费
|
|
|
Double standInFee=0.0;//摊入费用
|
|
|
+
|
|
|
+ Double installEqm = 0.0;//特殊情况处理
|
|
|
for (ErpCredit erpCredit:erpCredits){//循环erp账户项目
|
|
|
- erpCreditChild1s = erpCredit.getErpCreditChild1s();//获取设备集合
|
|
|
materialTotal = getErpCreditMaterial(erpCredit);//得到材料费合计
|
|
|
- if (null!=erpCreditChild1s&&erpCreditChild1s.size()>=0){
|
|
|
- eqmValue = 0.0;//赋予初始值
|
|
|
- for (ErpCreditEquipment erpCreditEquipment:erpCreditChild1s){//所有设备费合计
|
|
|
- eqmValue+=erpCreditEquipment.getEqmBookedFee1();
|
|
|
- }
|
|
|
- }
|
|
|
+ erpCreditEquipmentList = erpCredit.getErpCreditChild1s();//获取设备集合
|
|
|
+ installEqm = getEqmOneFlagValue(erpCreditEquipmentList);//得到设备台数都为0的值
|
|
|
+
|
|
|
+ erpCreditEquipmentList = getEquNumbers(erpCreditEquipmentList);//特殊情况处理后的集合
|
|
|
+ eqmValue = getEqmValueTotal(erpCreditEquipmentList);//所有设备费合计
|
|
|
+
|
|
|
//添加固定数据:线路
|
|
|
transferOfPower1 = new TransferOfPowerLine();//得到线路集合
|
|
|
transferOfPower1.setPowerId(erpCredit.getItemId());//添加项目定义号
|
|
@@ -519,10 +516,10 @@ public class ExportUtilCalculate {
|
|
|
transferOfPower1.setPowerTenKvCableType(erpCredit.getCableTube());
|
|
|
}
|
|
|
if (null!=erpCredit.getConsBuildingFee()){//建筑费
|
|
|
- transferOfPower1.setPowerBuildFee(decimalFormat.format(erpCredit.getConsBuildingFee()+materialTotal));
|
|
|
+ transferOfPower1.setPowerBuildFee(decimalFormat.format(erpCredit.getConsBuildingFee()+materialTotal+installEqm));
|
|
|
}
|
|
|
if (null!=erpCredit.getConsInstallFee()&&erpCredit.getTenKvModel()!=null){//安装费
|
|
|
- transferOfPower1.setPowerInstallFee(decimalFormat.format(erpCredit.getConsInstallFee()+materialTotal));//添加安装费
|
|
|
+ transferOfPower1.setPowerInstallFee(decimalFormat.format(erpCredit.getConsInstallFee()+materialTotal+installEqm));//添加安装费
|
|
|
}else {
|
|
|
transferOfPower1.setPowerInstallFee("-");
|
|
|
}
|
|
@@ -623,7 +620,7 @@ public class ExportUtilCalculate {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
|
|
|
DecimalFormat decimalFormat1 = new DecimalFormat("#0");
|
|
|
List<TransferOfEquipment> transferOfPower2s = new ArrayList<TransferOfEquipment>();//得到设备表集合
|
|
|
- List<ErpCreditEquipment> erpCreditChild1s = null;//定义设备 费对象
|
|
|
+ List<ErpCreditEquipment> erpCreditEquipmentList = null;//定义设备 费对象
|
|
|
TransferOfEquipment transferOfPower2 = null;//定义设备表对象
|
|
|
Double powerInstall = 0.0;//安装费
|
|
|
Double materialTotal = 0.0;//材料费总计
|
|
@@ -633,20 +630,14 @@ public class ExportUtilCalculate {
|
|
|
Double powerInstallFee = 0.0;//安装费用(线路)
|
|
|
Double powerEqmMater=0.0;//物料材料合计
|
|
|
Double powerStandInFee = 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();//得到设备费集合
|
|
|
+ erpCreditEquipmentList = getEquNumbers(erpCredit.getErpCreditChild1s());//特殊情况处理得到最终设备费
|
|
|
//所有设备费累加
|
|
|
- for (ErpCreditEquipment erpCreditEquipment:erpCreditChild1s){
|
|
|
- powerValueTotal += erpCreditEquipment.getEqmBookedFee1();
|
|
|
- }
|
|
|
- //得到安装费用
|
|
|
+ powerValueTotal = getEqmValueTotal(erpCreditEquipmentList);
|
|
|
+ //得到安装费用 移交生产总值 一览表1线路
|
|
|
if (null!=erpCredit.getConsInstallFee()){ //安装费(x线路表)
|
|
|
powerInstallFee = erpCredit.getConsInstallFee()+materialTotal;
|
|
|
}
|
|
@@ -656,44 +647,42 @@ public class ExportUtilCalculate {
|
|
|
if (null==erpCredit.getTenKvModel()){
|
|
|
powerInstallFee = 0.0;
|
|
|
}
|
|
|
- if (null!=erpCreditChild1s && erpCreditChild1s.size()>=0){//
|
|
|
- for (ErpCreditEquipment erpCreditChild1:erpCreditChild1s){
|
|
|
+ if (null!=erpCreditEquipmentList && erpCreditEquipmentList.size()>=0){//
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipmentList){
|
|
|
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;
|
|
|
+ if (null!=erpCredit.getConsInstallFee()&& null != erpCreditEquipment.getEqmBookedFee1()){//得到分摊后安装费
|
|
|
+ eqmFtIntalls = erpCreditEquipment.getEqmBookedFee1()/powerValueTotal;
|
|
|
eqmFtIntalls = eqmFtIntalls*powerInstallFee;
|
|
|
}
|
|
|
- if (null!=erpCreditChild1.getEqmNumbers()){//得到配变数量(erp账户中设备台数)
|
|
|
- transferOfPower2.setPowerNumber(decimalFormat1.format(erpCreditChild1.getEqmNumbers()));
|
|
|
+ if (null!=erpCreditEquipment.getEqmNumbers()){//得到配变数量(erp账户中设备台数)
|
|
|
+ transferOfPower2.setPowerNumber(decimalFormat1.format(erpCreditEquipment.getEqmNumbers()));
|
|
|
}
|
|
|
- if (null!=erpCreditChild1.getEqmUnit()){//计量单位
|
|
|
- transferOfPower2.setPowerUnit(erpCreditChild1.getEqmUnit());
|
|
|
+ if (null!=erpCreditEquipment.getEqmUnit()){//计量单位
|
|
|
+ transferOfPower2.setPowerUnit(erpCreditEquipment.getEqmUnit());
|
|
|
}
|
|
|
//配电容量
|
|
|
- transferOfPower2.setPowerCapacity(erpCreditChild1.getEqmMaterialDetails1());
|
|
|
+ transferOfPower2.setPowerCapacity(erpCreditEquipment.getEqmMaterialDetails1());
|
|
|
//安装费用
|
|
|
if (null!=transferOfPower2.getPowerCapacity()&&null==erpCredit.getTenKvModel()){
|
|
|
- powerInstall= erpCreditChild1.getEqmBookedFee1()/powerValueTotal*materialTotal;
|
|
|
+ powerInstall= erpCreditEquipment.getEqmBookedFee1()/powerValueTotal*materialTotal;
|
|
|
if (null!=erpCredit.getConsInstallFee()){
|
|
|
- powerInstall = powerInstall+(erpCreditChild1.getEqmBookedFee1()/powerValueTotal*erpCredit.getConsInstallFee());
|
|
|
+ powerInstall = powerInstall+(erpCreditEquipment.getEqmBookedFee1()/powerValueTotal*erpCredit.getConsInstallFee());
|
|
|
}else {
|
|
|
powerInstall = 0.0;
|
|
|
}
|
|
|
transferOfPower2.setPowerInstallFee(decimalFormat.format(powerInstall));
|
|
|
}else {
|
|
|
- powerInstall = 0.0;
|
|
|
+// powerInstall = 0.0;
|
|
|
transferOfPower2.setPowerInstallFee("0");
|
|
|
}
|
|
|
//设备价值
|
|
|
- if (null!=erpCreditChild1.getEqmBookedFee1()){
|
|
|
- powerValue = erpCreditChild1.getEqmBookedFee1();
|
|
|
+ if (null!=erpCreditEquipment.getEqmBookedFee1()){
|
|
|
+ powerValue = erpCreditEquipment.getEqmBookedFee1();
|
|
|
transferOfPower2.setPowerValue(decimalFormat.format(powerValue));//赋值设备价值
|
|
|
- }else {
|
|
|
- powerValue = erpCreditChild1.getEqmBookedFee1();
|
|
|
}
|
|
|
//摊入
|
|
|
powerEqmMater = powerValueTotal+powerInstallFee;//===所有的设备价值+安装费+材料费
|
|
@@ -721,8 +710,6 @@ public class ExportUtilCalculate {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-// List<TransferOfEquipment> powerDeliveredAssets2 = getPowerDeliveredAssets2(transferOfPower2s);
|
|
|
-// List<TransferOfEquipment> transferOfPowerTotal = getTransferOfPowerTotal(powerDeliveredAssets2);
|
|
|
return transferOfPower2s;
|
|
|
}
|
|
|
//移交生产资产2 - 设备表 交付使用价值 安装费+设备费+摊入费用
|
|
@@ -970,7 +957,7 @@ 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;//安装差额
|
|
@@ -986,11 +973,9 @@ public class ExportUtilCalculate {
|
|
|
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;//安装差额
|
|
@@ -1103,7 +1088,9 @@ public class ExportUtilCalculate {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ /*
|
|
|
+ 设备费统计
|
|
|
+ */
|
|
|
public static List<TransferOfEquipment> getTransferOfPower2(List<ErpCredit> erpCreditList, List<MaintainData> maintainDataList){
|
|
|
List<TransferOfEquipment> transFerEquipmentStandin = getTransFerEquipmentStandin(erpCreditList, maintainDataList);
|
|
|
List<TransferOfEquipment> powerDeliveredAssets2 = getPowerDeliveredAssets2(transFerEquipmentStandin);
|
|
@@ -1111,13 +1098,6 @@ public class ExportUtilCalculate {
|
|
|
return transferOfPowerTotal;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//材料费合计
|
|
|
public static Double getErpCreditMaterial(ErpCredit erpCredit){
|
|
|
Double materialTotal = 0.0;
|
|
@@ -1129,4 +1109,80 @@ public class ExportUtilCalculate {
|
|
|
}
|
|
|
return materialTotal;
|
|
|
}
|
|
|
+
|
|
|
+ /*
|
|
|
+ 所有设备费合计
|
|
|
+ */
|
|
|
+ public static Double getEqmValueTotal(List<ErpCreditEquipment> erpCreditEquipments){
|
|
|
+ Double eqmValue = 0.0;
|
|
|
+ if (null!=erpCreditEquipments&&erpCreditEquipments.size()>=0){
|
|
|
+ eqmValue = 0.0;//赋予初始值
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipments){//所有设备费合计
|
|
|
+ eqmValue+=erpCreditEquipment.getEqmBookedFee1();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return eqmValue;
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 特殊清理处理:得到只且中只有一条的配变数量为0的设备费合计
|
|
|
+ */
|
|
|
+ public static Double getEqmOneFlagValue(List<ErpCreditEquipment> erpCreditEquipments){
|
|
|
+ Double d = 0.0;//定义初始值
|
|
|
+ boolean flag = false;
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipments){
|
|
|
+ if (erpCreditEquipment.getEqmNumbers()==0.00){//如果台数为0
|
|
|
+ d+=erpCreditEquipment.getEqmBookedFee1();//设备金额累加
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipments){
|
|
|
+ if (erpCreditEquipment.getEqmNumbers()!=0.00){//如果台数不为0
|
|
|
+ flag = true;//设置为true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (flag){
|
|
|
+ d = 0.0;
|
|
|
+ }
|
|
|
+ return d;
|
|
|
+ }
|
|
|
+ //得到大于一条的设备费合计
|
|
|
+ public static List<ErpCreditEquipment> getEquNumbers(List<ErpCreditEquipment> equipments) {
|
|
|
+// List<ErpCreditEquipment> erpCreditEquipmentList = new ArrayList<ErpCreditEquipment>();
|
|
|
+ List<ErpCreditEquipment> erpCreditEquipmentList = new ArrayList<ErpCreditEquipment>();
|
|
|
+ try {
|
|
|
+ erpCreditEquipmentList = deepCopy(equipments);
|
|
|
+ Double eqmBooksFee = 0.0;
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment:erpCreditEquipmentList){
|
|
|
+ if (erpCreditEquipment.getEqmNumbers()==0.00){
|
|
|
+ eqmBooksFee += erpCreditEquipment.getEqmBookedFee1();//入账金额
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (ErpCreditEquipment erpCreditEquipment1:erpCreditEquipmentList){
|
|
|
+ if (erpCreditEquipment1.getEqmNumbers()!=0.00){
|
|
|
+ eqmBooksFee=eqmBooksFee+erpCreditEquipment1.getEqmBookedFee1();
|
|
|
+ erpCreditEquipment1.setEqmBookedFee1(eqmBooksFee);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (int i = 0; i < erpCreditEquipmentList.size(); i++) {
|
|
|
+ if (erpCreditEquipmentList.get(i).getEqmNumbers()==0.00){
|
|
|
+ erpCreditEquipmentList.remove(i);
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (ClassNotFoundException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return erpCreditEquipmentList;
|
|
|
+ }
|
|
|
+ public static List deepCopy(List src) throws IOException, ClassNotFoundException{
|
|
|
+ ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
|
|
|
+ ObjectOutputStream out = new ObjectOutputStream(byteOut);
|
|
|
+ out.writeObject(src);
|
|
|
+ ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
|
|
|
+ ObjectInputStream in =new ObjectInputStream(byteIn);
|
|
|
+ List dest = (List)in.readObject();
|
|
|
+ return dest;
|
|
|
+ }
|
|
|
}
|