|
@@ -48,6 +48,12 @@ public class ErpInfo {
|
|
public final static String CON_PRCAC10="电力电缆,AC10kV";
|
|
public final static String CON_PRCAC10="电力电缆,AC10kV";
|
|
public final static String CON_PRCAC20="电力电缆,AC20kV";
|
|
public final static String CON_PRCAC20="电力电缆,AC20kV";
|
|
|
|
|
|
|
|
+ public final static String CON_OICAC1="架空绝缘导线,AC1kV";
|
|
|
|
+ public final static String CON_PRCAC1="电力电缆,AC1kV";
|
|
|
|
+
|
|
|
|
+ public final static String CON_OICAC="架空绝缘导线";
|
|
|
|
+ public final static String CON_PRCAC="电力电缆";
|
|
|
|
+
|
|
public final static String CON_lINE = "-";
|
|
public final static String CON_lINE = "-";
|
|
|
|
|
|
public final static String CON_PlPlQ=CON_PROJECT+CON_lINE+CON_PES+CON_lINE+CON_OTR;//工程成本-待摊支出-其他
|
|
public final static String CON_PlPlQ=CON_PROJECT+CON_lINE+CON_PES+CON_lINE+CON_OTR;//工程成本-待摊支出-其他
|
|
@@ -82,6 +88,8 @@ public class ErpInfo {
|
|
erpAccount.setMaterialDetails((String)importUtil.getCellValue(row,19));
|
|
erpAccount.setMaterialDetails((String)importUtil.getCellValue(row,19));
|
|
erpAccount.setUnit((String)importUtil.getCellValue(row,20));
|
|
erpAccount.setUnit((String)importUtil.getCellValue(row,20));
|
|
erpAccount.setWbsDetails((String)importUtil.getCellValue(row,9));
|
|
erpAccount.setWbsDetails((String)importUtil.getCellValue(row,9));
|
|
|
|
+ erpAccount.setTheInputTax((String)importUtil.getCellValue(row,21));
|
|
|
|
+ erpAccount.setSupplierName((String)importUtil.getCellValue(row,26));
|
|
list.add(erpAccount);
|
|
list.add(erpAccount);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -90,13 +98,14 @@ public class ErpInfo {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 传入表的数据集合,获取设备费/材料费/10kV线路信息 集合
|
|
* 传入表的数据集合,获取设备费/材料费/10kV线路信息 集合
|
|
- * 分别获取List<ErpCreditChild1>(设备费)<ErpCreditChild2>(材料费)List<ErpCreditChild3>(10kV线路信息)集合中
|
|
|
|
|
|
+ * 分别获取List<ErpCreditChild1>(设备费)<ErpCreditChild2>(材料费)
|
|
* 与List<ErpCredit>项目定义编号对应的对象
|
|
* 与List<ErpCredit>项目定义编号对应的对象
|
|
* 添加到List<ErpCredit>集合中的erpCreditChild1s,erpCreditChild2s,erpCreditChild3s.
|
|
* 添加到List<ErpCredit>集合中的erpCreditChild1s,erpCreditChild2s,erpCreditChild3s.
|
|
* @param list 表格对象
|
|
* @param list 表格对象
|
|
* @return 返回List<ErpCredit>
|
|
* @return 返回List<ErpCredit>
|
|
*/
|
|
*/
|
|
public static List<ErpCredit> getAllErpCreditList(List<ErpAccount> list){
|
|
public static List<ErpCredit> getAllErpCreditList(List<ErpAccount> list){
|
|
|
|
+ double tenKvLineLength=0.0;
|
|
boolean flag; //设备费开关:施工费中 建筑费 安装判断 true-建筑费 false-安装费
|
|
boolean flag; //设备费开关:施工费中 建筑费 安装判断 true-建筑费 false-安装费
|
|
//获取erpCredit对象 list集合
|
|
//获取erpCredit对象 list集合
|
|
List<ErpCredit> erpCredits = getListErpCredit(list);
|
|
List<ErpCredit> erpCredits = getListErpCredit(list);
|
|
@@ -104,18 +113,26 @@ public class ErpInfo {
|
|
List<ErpCreditChild1> erpCreditChild1s = getListErpCreditChild1(list);
|
|
List<ErpCreditChild1> erpCreditChild1s = getListErpCreditChild1(list);
|
|
//获取ErpCreditChild2对象 list集合 (材料费)
|
|
//获取ErpCreditChild2对象 list集合 (材料费)
|
|
List<ErpCreditChild2> erpCreditChild2s = getListErpCreditChild2(list);
|
|
List<ErpCreditChild2> erpCreditChild2s = getListErpCreditChild2(list);
|
|
- //获取ErpCreditChild3对象 list集合 (10kV线路信息)
|
|
|
|
- List<ErpCreditChild3> erpCreditChild3s = getListErpCreditChild3(list);
|
|
|
|
//循环erpCredit对象 list集合
|
|
//循环erpCredit对象 list集合
|
|
for (ErpCredit erpCredit:erpCredits){
|
|
for (ErpCredit erpCredit:erpCredits){
|
|
- flag = true;//赋初始值
|
|
|
|
|
|
+ tenKvLineLength=0.0;
|
|
|
|
+ flag = false;//赋初始值
|
|
|
|
+ //赋值线路长度
|
|
|
|
+ if (null!=erpCredit.getTenKvItesFhvFollow()&&null!=erpCredit.getTenKvItsLine()){
|
|
|
|
+ tenKvLineLength=erpCredit.getTenKvItesFhvFollow()+erpCredit.getTenKvItsLine();
|
|
|
|
+ erpCredit.setTenKvLineLength(tenKvLineLength);
|
|
|
|
+ }
|
|
|
|
+ //判断线路信息是否为空
|
|
|
|
+ if (null!=erpCredit.getTenKvModel()&&erpCredit.getTenKvModel().length()!=0){
|
|
|
|
+ flag=true;
|
|
|
|
+ }
|
|
//设备费 集合 循环
|
|
//设备费 集合 循环
|
|
for (ErpCreditChild1 erpCreditChild1:erpCreditChild1s){
|
|
for (ErpCreditChild1 erpCreditChild1:erpCreditChild1s){
|
|
//判断 erpCredit对象项目定义编号 与 ErpCreditChild1对象项目定义编号
|
|
//判断 erpCredit对象项目定义编号 与 ErpCreditChild1对象项目定义编号
|
|
if (erpCredit.getItemId().equals(erpCreditChild1.getErpCredit().getItemId())){
|
|
if (erpCredit.getItemId().equals(erpCreditChild1.getErpCredit().getItemId())){
|
|
//把erpCreditChild1对象 添加到 List<ErpCredit>的List<ErpCreditChild1>中
|
|
//把erpCreditChild1对象 添加到 List<ErpCredit>的List<ErpCreditChild1>中
|
|
erpCredit.getErpCreditChild1s().add(erpCreditChild1);
|
|
erpCredit.getErpCreditChild1s().add(erpCreditChild1);
|
|
- flag =false;
|
|
|
|
|
|
+ flag =true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//材料费 集合 循环
|
|
//材料费 集合 循环
|
|
@@ -124,23 +141,14 @@ public class ErpInfo {
|
|
if (erpCreditChild2.getErpCredit().getItemId().equals(erpCredit.getItemId())){
|
|
if (erpCreditChild2.getErpCredit().getItemId().equals(erpCredit.getItemId())){
|
|
//把erpCreditChild1对象 添加到 List<ErpCredit>的List<ErpCreditChild2>中
|
|
//把erpCreditChild1对象 添加到 List<ErpCredit>的List<ErpCreditChild2>中
|
|
erpCredit.getErpCreditChild2s().add(erpCreditChild2);
|
|
erpCredit.getErpCreditChild2s().add(erpCreditChild2);
|
|
- flag =false;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //10kV线路 集合 循环
|
|
|
|
- for (ErpCreditChild3 erpCreditChild3:erpCreditChild3s){
|
|
|
|
- //判断 erpCredit对象项目定义编号 与 ErpCreditChild2对象项目定义编号
|
|
|
|
- if (erpCreditChild3.getErpCredit().getItemId().equals(erpCredit.getItemId())){
|
|
|
|
- //把erpCreditChild1对象 添加到 List<ErpCredit>的List<ErpCreditChild1>中
|
|
|
|
- erpCredit.getErpCreditChild3s().add(erpCreditChild3);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (flag){//如果为true
|
|
if (flag){//如果为true
|
|
- //施工费合计 赋值为 建筑费(无 设备费入账金额 以及 材料费入账金额)
|
|
|
|
- erpCredit.setConsBuildingFee(erpCredit.getConsTotalFee());
|
|
|
|
- }else {
|
|
|
|
//施工费合计 赋值为安装费(有 设备费入账金额 或者 材料费入账金额)
|
|
//施工费合计 赋值为安装费(有 设备费入账金额 或者 材料费入账金额)
|
|
erpCredit.setConsInstallFee(erpCredit.getConsTotalFee());
|
|
erpCredit.setConsInstallFee(erpCredit.getConsTotalFee());
|
|
|
|
+ }else {
|
|
|
|
+ //施工费合计 赋值为 建筑费(无 设备费入账金额 以及 材料费入账金额)
|
|
|
|
+ erpCredit.setConsBuildingFee(erpCredit.getConsTotalFee());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return erpCredits;
|
|
return erpCredits;
|
|
@@ -155,27 +163,11 @@ public class ErpInfo {
|
|
List<ErpCredit> erpCredits = new ArrayList<ErpCredit>();//定义集合
|
|
List<ErpCredit> erpCredits = new ArrayList<ErpCredit>();//定义集合
|
|
ErpCredit erpCredit=null;//要获取集合对象
|
|
ErpCredit erpCredit=null;//要获取集合对象
|
|
ErpAccount erpAccount=null;//导入表格对象
|
|
ErpAccount erpAccount=null;//导入表格对象
|
|
- boolean flag = true;//判断 项目定义编号是否相同 true-不相同 false-相同
|
|
|
|
- double actualInvestment = 0.0;//实际投资
|
|
|
|
- double consTotalFee=0.0;//施工费:合计
|
|
|
|
- double otherSupervisorFee=0.0;//其他费用:监理费:入账金额
|
|
|
|
- double otherDesignFee = 0.0;//其他费用:设计费:入账金额
|
|
|
|
- double otherBuildLoan=0.0;//其他费用:建设期贷款利息
|
|
|
|
- double otherLineDamages=0.0;//线路施工赔偿费
|
|
|
|
- double otherLegalManage=0.0;//法人管理费
|
|
|
|
- double otherTotalFee=0.0;//其他费用合计
|
|
|
|
- double lineItemAmount;//行项目金额合计
|
|
|
|
|
|
+ boolean flag;//判断 项目定义编号是否相同 true-不相同 false-相同
|
|
//循环导入表格对象
|
|
//循环导入表格对象
|
|
for (int i = 0; i < list.size(); i++) {
|
|
for (int i = 0; i < list.size(); i++) {
|
|
flag = true;//默认值为true (默认项目定义编号不相同)
|
|
flag = true;//默认值为true (默认项目定义编号不相同)
|
|
erpAccount=list.get(i);//获取erpAccount对象
|
|
erpAccount=list.get(i);//获取erpAccount对象
|
|
- //判断 导入表格 对象 的行项目金额是否为空
|
|
|
|
- if(erpAccount.getLineItemAmount().isEmpty()){
|
|
|
|
- lineItemAmount=0.0;//如果为空 默认值为0.0;
|
|
|
|
- }else {
|
|
|
|
- //否则 获取行羡慕金额
|
|
|
|
- lineItemAmount = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
|
|
- }
|
|
|
|
//判断当前 集合有数据
|
|
//判断当前 集合有数据
|
|
if (null!=erpCredits&&erpCredits.size()>0){
|
|
if (null!=erpCredits&&erpCredits.size()>0){
|
|
//循环 当前得到的ErpCredits对象
|
|
//循环 当前得到的ErpCredits对象
|
|
@@ -183,55 +175,10 @@ public class ErpInfo {
|
|
erpCredit = erpCredits.get(j);//获取 erpCredit对象
|
|
erpCredit = erpCredits.get(j);//获取 erpCredit对象
|
|
//判断项目定义号相同
|
|
//判断项目定义号相同
|
|
if (erpAccount.getProjectDefinitionCode().equals(erpCredit.getItemId())){
|
|
if (erpAccount.getProjectDefinitionCode().equals(erpCredit.getItemId())){
|
|
- //筛选(科目名称)中包含(工程成本-)的所有内容,统计行项目金额合计
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT)){
|
|
|
|
- //当前实际投资+获取到的行项目金额
|
|
|
|
- actualInvestment=erpCredit.getActualInvestment()+lineItemAmount;
|
|
|
|
- //替换 实际投资金额
|
|
|
|
- erpCredit.setActualInvestment(actualInvestment);
|
|
|
|
- }
|
|
|
|
- //施工费:合计:入账金额 判断物料描述是否为空
|
|
|
|
- if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
- //筛选物料描述为空的(科目名称)中包含(工程成本-安装工程支出)的所有内容,统计行项目金额合计
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT + ErpInfo.CON_lINE + ErpInfo.CON_IPE)) {
|
|
|
|
- //当前施工费:合计+获取到的行项目金额
|
|
|
|
- consTotalFee = erpCredit.getConsTotalFee()+ lineItemAmount;
|
|
|
|
- //替换 施工费:合计金额
|
|
|
|
- erpCredit.setConsTotalFee(consTotalFee);
|
|
|
|
- }
|
|
|
|
- //筛选物料描述为空的先筛选(科目名称)中包含(工程成本-待摊支出-其他/工程成本-待摊支出-项目法人管理费-其他/项目管理经费 - 会议费)
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PlPlQ)||
|
|
|
|
- erpAccount.getSubjectName().contains(ErpInfo.CON_PLPLPLQ)||
|
|
|
|
- erpAccount.getSubjectName().contains(ErpInfo.CON_PLM)){
|
|
|
|
- //筛选(WBS描述)为工程监理费的行项目金额合计
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_PSF)){
|
|
|
|
- otherSupervisorFee = erpCredit.getOtherSupervisorFee()+lineItemAmount;//监理费
|
|
|
|
- erpCredit.setOtherSupervisorFee(otherSupervisorFee);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为工程设计费
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_EDF)){
|
|
|
|
- otherDesignFee = erpCredit.getOtherDesignFee() + lineItemAmount;//设计费
|
|
|
|
- erpCredit.setOtherDesignFee(otherDesignFee);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为建设期贷款利息
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OBL)){
|
|
|
|
- otherBuildLoan =erpCredit.getOtherBuildLoan()+lineItemAmount;//建设期贷款利息
|
|
|
|
- erpCredit.setOtherBuildLoan(otherBuildLoan);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为线路施工赔偿费
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OLD)){
|
|
|
|
- otherLineDamages = erpCredit.getOtherLineDamages()+lineItemAmount;//建设期贷款利息
|
|
|
|
- erpCredit.setOtherLineDamages(otherLineDamages);
|
|
|
|
- }
|
|
|
|
- //其他费用:法人管理费
|
|
|
|
- otherLegalManage=erpCredit.getOtherLegalManage()+lineItemAmount;
|
|
|
|
- erpCredit.setOtherLegalManage(otherLegalManage);
|
|
|
|
- //其他费用:合计
|
|
|
|
- otherTotalFee = erpCredit.getOtherTotalFee()+ lineItemAmount;
|
|
|
|
- erpCredit.setOtherTotalFee(otherTotalFee);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
flag = false;
|
|
flag = false;
|
|
|
|
+ erpCredit = getActualAndConstruction(erpCredit,erpAccount,flag);
|
|
|
|
+ erpCredit=getOtherFee(erpCredit,erpAccount,flag);
|
|
|
|
+ erpCredit=getTenKvLineInformation(erpCredit,erpAccount,flag);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -241,60 +188,284 @@ public class ErpInfo {
|
|
erpCredit = new ErpCredit();//获取ErpCredit对象
|
|
erpCredit = new ErpCredit();//获取ErpCredit对象
|
|
erpCredit.setItemId(erpAccount.getProjectDefinitionCode());//添加项目定义编号
|
|
erpCredit.setItemId(erpAccount.getProjectDefinitionCode());//添加项目定义编号
|
|
erpCredit.setItemName(erpAccount.getProjectDefinitionDetails());//项目名称
|
|
erpCredit.setItemName(erpAccount.getProjectDefinitionDetails());//项目名称
|
|
- erpCredit.setConsTotalFee(lineItemAmount);//添加施工费合计
|
|
|
|
- erpCredit.setOtherSupervisorFee(lineItemAmount);//添加其他:监理费
|
|
|
|
- erpCredit.setOtherDesignFee(lineItemAmount);//添加 其他设计费
|
|
|
|
-// erpCredit.setOtherBeWorkFee(lineItemAmount); // 添加 项目前期工作费 (暂不确定)
|
|
|
|
- erpCredit.setOtherBuildLoan(lineItemAmount);//添加 建设期贷款利息
|
|
|
|
- erpCredit.setOtherLineDamages(lineItemAmount);//添加 线路施工赔偿费
|
|
|
|
- erpCredit.setOtherLegalManage(lineItemAmount);//添加 法人管理费
|
|
|
|
- //其他费用:合计
|
|
|
|
- erpCredit.setOtherTotalFee(lineItemAmount);
|
|
|
|
-
|
|
|
|
- //筛选(科目名称)中包含(工程成本-)的所有内容,统计行项目金额合计
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT)){
|
|
|
|
- //添加行项目金额 到 ErpCredit对象中的实际投资金额
|
|
|
|
- erpCredit.setActualInvestment(lineItemAmount);
|
|
|
|
|
|
+ erpCredit = getActualAndConstruction(erpCredit,erpAccount,flag);
|
|
|
|
+ erpCredit = getOtherFee(erpCredit,erpAccount,flag);
|
|
|
|
+ erpCredit = getTenKvLineInformation(erpCredit,erpAccount,flag);
|
|
|
|
+ erpCredits.add(erpCredit);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return erpCredits;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 400
|
|
|
|
+ * @param erpCredit
|
|
|
|
+ * @param erpAccount
|
|
|
|
+ * @param flag
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public static ErpCredit getFourHundredInformation(ErpCredit erpCredit,ErpAccount erpAccount,boolean flag){
|
|
|
|
+ double fourHundredKvLength=0.0;//10kv线路信息长度
|
|
|
|
+ //400
|
|
|
|
+ if (!erpAccount.getTheNumber().isEmpty()){
|
|
|
|
+ fourHundredKvLength = Double.parseDouble(erpAccount.getTheNumber());
|
|
|
|
+ }
|
|
|
|
+ if (flag){
|
|
|
|
+ //架空绝缘导线AC1V 电力电缆AC1V
|
|
|
|
+ if (erpAccount.getMaterialDetails().contains(ErpInfo.CON_OICAC1)||
|
|
|
|
+ erpAccount.getMaterialDetails().contains(ErpInfo.CON_PRCAC1)){
|
|
|
|
+ erpCredit.setTenKvItesFhvFollow(fourHundredKvLength);
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ //得到400
|
|
|
|
+ if (erpAccount.getMaterialDetails().contains(ErpInfo.CON_OICAC1)||
|
|
|
|
+ erpAccount.getMaterialDetails().contains(ErpInfo.CON_PRCAC1)){
|
|
|
|
+ if (null!=erpCredit.getTenKvItesFhvFollow()){//如果值不存在则赋值为0.0
|
|
|
|
+ fourHundredKvLength = erpCredit.getTenKvItesFhvFollow()+fourHundredKvLength;
|
|
|
|
+ }
|
|
|
|
+ erpCredit.setTenKvItesFhvFollow(fourHundredKvLength);
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 10kv线路信息
|
|
|
|
+ * @param erpCredit
|
|
|
|
+ * @param erpAccount
|
|
|
|
+ * @param flag
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public static ErpCredit getTenKvLineInformation(ErpCredit erpCredit,ErpAccount erpAccount,boolean flag){
|
|
|
|
+ String materialDetails = erpAccount.getMaterialDetails();//物料描述
|
|
|
|
+ double tenKvLength=0.0;//长度
|
|
|
|
+ double tenKvItsLine=0.0;//10kv线路
|
|
|
|
+ String[] split;
|
|
|
|
+ String[] split1;
|
|
|
|
+ if (!erpAccount.getTheNumber().isEmpty()){
|
|
|
|
+ tenKvLength = Double.parseDouble(erpAccount.getTheNumber());
|
|
|
|
+ tenKvItsLine= Double.parseDouble(erpAccount.getTheNumber());
|
|
|
|
+ }
|
|
|
|
+ if (flag){
|
|
|
|
+ if (materialDetails.contains(ErpInfo.CON_OICAC10)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_OICAC20)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_PRCAC10)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_PRCAC20)){
|
|
|
|
+ erpCredit.setTenKvModel(materialDetails);//架空导线型号
|
|
|
|
+ erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+ erpCredit.setTenKvLength(tenKvLength);//长度
|
|
|
|
+ erpCredit.setTenKvItsLine(tenKvItsLine);//10kv线路
|
|
|
|
+ erpCredit.setSupplierName(erpAccount.getSupplierName());
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ //得到10
|
|
|
|
+ if (materialDetails.contains(ErpInfo.CON_OICAC10)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_OICAC20)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_PRCAC10)||
|
|
|
|
+ materialDetails.contains(ErpInfo.CON_PRCAC20)){
|
|
|
|
+ //判断型号 显示
|
|
|
|
+// if (null!=erpCredit.getTenKvModel()&& erpCredit.getTenKvModel().length() != 0){
|
|
|
|
+// split = materialDetails.split(",");
|
|
|
|
+// split1 = erpCredit.getTenKvModel().split(",");
|
|
|
|
+// if (materialDetails.contains(ErpInfo.CON_OICAC)){
|
|
|
|
+// if (Double.parseDouble(split[split.length-1]) >= Double.parseDouble(split1[split1.length-1])){
|
|
|
|
+// erpCredit.setTenKvModel(materialDetails);
|
|
|
|
+// erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+// erpCredit.setSupplierName(erpAccount.getSupplierName());//公司
|
|
|
|
+// }else {
|
|
|
|
+// if (!erpCredit.getTenKvModel().contains(ErpInfo.CON_OICAC)){
|
|
|
|
+// erpCredit.setTenKvModel(materialDetails);
|
|
|
|
+// erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+// erpCredit.setSupplierName(erpAccount.getSupplierName());//公司
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }else {
|
|
|
|
+// if (!erpCredit.getTenKvModel().contains(ErpInfo.CON_OICAC)){
|
|
|
|
+// if (Double.parseDouble(split[split.length-1]) >= Double.parseDouble(split1[split1.length-1])){
|
|
|
|
+// erpCredit.setTenKvModel(materialDetails);
|
|
|
|
+// erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+// erpCredit.setSupplierName(erpAccount.getSupplierName());//公司
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }else {
|
|
|
|
+// erpCredit.setTenKvModel(materialDetails);
|
|
|
|
+// erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+// erpCredit.setSupplierName(erpAccount.getSupplierName());//公司
|
|
|
|
+// }
|
|
|
|
+ erpCredit.setTenKvModel(materialDetails);
|
|
|
|
+ erpCredit.setTenKvUnit(erpAccount.getUnit());//单位
|
|
|
|
+ erpCredit.setSupplierName(erpAccount.getSupplierName());//公司
|
|
|
|
+ if (null!=erpCredit.getTenKvLength()){
|
|
|
|
+ tenKvLength=erpCredit.getTenKvLength()+tenKvLength;
|
|
|
|
+ }
|
|
|
|
+ if (null!=erpCredit.getTenKvItsLine()){
|
|
|
|
+ tenKvItsLine=erpCredit.getTenKvItsLine()+tenKvItsLine;
|
|
|
|
+ }
|
|
|
|
+ //添加长度
|
|
|
|
+ erpCredit.setTenKvLength(tenKvLength);
|
|
|
|
+ //添加10kv线路
|
|
|
|
+ erpCredit.setTenKvItsLine(tenKvItsLine);
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 获取实际金额,进项税额,施工费合计
|
|
|
|
+ * @param erpCredit
|
|
|
|
+ * @param erpAccount
|
|
|
|
+ * @param flag
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public static ErpCredit getActualAndConstruction(ErpCredit erpCredit,ErpAccount erpAccount,boolean flag){
|
|
|
|
+ double actualInvestment = 0.0;//实际投资
|
|
|
|
+ double consTotalFee=0.0;//施工费:合计
|
|
|
|
+ double theInputNumer=0.0;//进项税额
|
|
|
|
+ //判断 导入表格 对象 的行项目金额是否为空
|
|
|
|
+ if(!erpAccount.getLineItemAmount().isEmpty()){
|
|
|
|
+ actualInvestment = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
|
|
+ consTotalFee = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
|
|
+ }
|
|
|
|
+ //判断进项税额是否为空值
|
|
|
|
+ if (!erpAccount.getTheInputTax().isEmpty()){
|
|
|
|
+ theInputNumer=Double.parseDouble(erpAccount.getTheInputTax());
|
|
|
|
+ }
|
|
|
|
+ if (flag){
|
|
|
|
+ erpCredit.setTheInputTax(theInputNumer);//添加进项税额
|
|
|
|
+ //筛选(科目名称)中包含(工程成本-)的所有内容,统计行项目金额合计
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT)){
|
|
|
|
+ //添加行项目金额 到 ErpCredit对象中的实际投资金额
|
|
|
|
+ erpCredit.setActualInvestment(actualInvestment);
|
|
|
|
+ }
|
|
|
|
+ //施工费:合计:入账金额 判断物料描述是否为空
|
|
|
|
+ if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
+ //筛选物料描述为空的(科目名称)中包含(工程成本-安装工程支出)的所有内容,统计行项目金额合计
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT + ErpInfo.CON_lINE + ErpInfo.CON_IPE)) {
|
|
|
|
+ //得到施工费
|
|
|
|
+ erpCredit.setConsTotalFee(consTotalFee);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ //添加进项税额
|
|
|
|
+ if (null!=erpCredit.getTheInputTax()){
|
|
|
|
+ theInputNumer=erpCredit.getTheInputTax()+theInputNumer;
|
|
|
|
+ }
|
|
|
|
+ erpCredit.setTheInputTax(theInputNumer);
|
|
|
|
+ //筛选(科目名称)中包含(工程成本-)的所有内容,统计行项目金额合计
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT)){
|
|
|
|
+ //当前实际投资+获取到的行项目金额
|
|
|
|
+ if (null!=erpCredit.getActualInvestment()){
|
|
|
|
+ actualInvestment=erpCredit.getActualInvestment()+actualInvestment;
|
|
|
|
+ }
|
|
|
|
+ //替换 实际投资金额
|
|
|
|
+ erpCredit.setActualInvestment(actualInvestment);
|
|
|
|
+ }
|
|
|
|
+ //施工费:合计:入账金额 判断物料描述是否为空
|
|
|
|
+ if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
+ //筛选物料描述为空的(科目名称)中包含(工程成本-安装工程支出)的所有内容,统计行项目金额合计
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT + ErpInfo.CON_lINE + ErpInfo.CON_IPE)) {
|
|
|
|
+ //当前施工费:合计+获取到的行项目金额
|
|
|
|
+ if (null!=erpCredit.getConsTotalFee()){
|
|
|
|
+ consTotalFee = erpCredit.getConsTotalFee()+ consTotalFee;
|
|
}
|
|
}
|
|
- //施工费:合计:入账金额 判断物料描述是否为空
|
|
|
|
- if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
- //筛选物料描述为空的(科目名称)中包含(工程成本-安装工程支出)的所有内容,统计行项目金额合计
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PROJECT + ErpInfo.CON_lINE + ErpInfo.CON_IPE)) {
|
|
|
|
- //得到施工费
|
|
|
|
- erpCredit.setConsTotalFee(lineItemAmount);
|
|
|
|
|
|
+ //替换 施工费:合计金额
|
|
|
|
+ erpCredit.setConsTotalFee(consTotalFee);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return erpCredit;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 其他费用
|
|
|
|
+ * @param erpCredit
|
|
|
|
+ * @param erpAccount
|
|
|
|
+ * @param flag
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public static ErpCredit getOtherFee(ErpCredit erpCredit,ErpAccount erpAccount,boolean flag){
|
|
|
|
+ double otherSupervisorFee=0.0;//其他费用:监理费:入账金额
|
|
|
|
+ double otherDesignFee = 0.0;//其他费用:设计费:入账金额
|
|
|
|
+ double otherBuildLoan=0.0;//其他费用:建设期贷款利息
|
|
|
|
+ double otherLineDamages=0.0;//线路施工赔偿费
|
|
|
|
+ double otherLegalManage=0.0;//法人管理费
|
|
|
|
+ double otherTotalFee=0.0;//其他费用合计
|
|
|
|
+ double lineItemAmount=0.0;//行项目金额合计
|
|
|
|
+ //判断 导入表格 对象 的行项目金额是否为空
|
|
|
|
+ if(!erpAccount.getLineItemAmount().isEmpty()){
|
|
|
|
+ lineItemAmount = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
|
|
+ }
|
|
|
|
+ if (flag){
|
|
|
|
+ erpCredit.setOtherSupervisorFee(0.0);//添加其他:监理费
|
|
|
|
+ erpCredit.setOtherDesignFee(0.0);//添加 其他设计费
|
|
|
|
+ erpCredit.setOtherBuildLoan(0.0);//添加 建设期贷款利息
|
|
|
|
+ erpCredit.setOtherLineDamages(0.0);//添加 线路施工赔偿费
|
|
|
|
+ erpCredit.setOtherLegalManage(0.0);//添加 法人管理费
|
|
|
|
+ //其他费用:合计
|
|
|
|
+ erpCredit.setOtherTotalFee(0.0);
|
|
|
|
+ //判断物料描述是否为空
|
|
|
|
+ if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
+ //筛选物料描述为空的先筛选(科目名称)中包含(工程成本-待摊支出-其他/工程成本-待摊支出-项目法人管理费-其他/项目管理经费 - 会议费)
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PlPlQ)||
|
|
|
|
+ erpAccount.getSubjectName().contains(ErpInfo.CON_PLPLPLQ)||
|
|
|
|
+ erpAccount.getSubjectName().contains(ErpInfo.CON_PLM)){
|
|
|
|
+ //判断WBS描述为工程监理费
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_PSF)){
|
|
|
|
+ erpCredit.setOtherSupervisorFee(lineItemAmount);
|
|
}
|
|
}
|
|
- //筛选物料描述为空的先筛选(科目名称)中包含(工程成本-待摊支出-其他/工程成本-待摊支出-项目法人管理费-其他/项目管理经费 - 会议费)
|
|
|
|
- if (erpAccount.getSubjectName().contains(ErpInfo.CON_PlPlQ)||
|
|
|
|
- erpAccount.getSubjectName().contains(ErpInfo.CON_PLPLPLQ)||
|
|
|
|
- erpAccount.getSubjectName().contains(ErpInfo.CON_PLM)){
|
|
|
|
- //判断WBS描述为工程监理费
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_PSF)){
|
|
|
|
- erpCredit.setOtherSupervisorFee(lineItemAmount);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为工程设计费
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_EDF)){
|
|
|
|
- erpCredit.setOtherDesignFee(lineItemAmount);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为建设期贷款利息
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OBL)){
|
|
|
|
- erpCredit.setOtherBuildLoan(lineItemAmount);
|
|
|
|
- }
|
|
|
|
- //判断WBS描述为线路施工赔偿费
|
|
|
|
- if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OLD)){
|
|
|
|
- erpCredit.setOtherLineDamages(lineItemAmount);
|
|
|
|
- }
|
|
|
|
- //其他费用:法人管理费
|
|
|
|
- erpCredit.setOtherLegalManage(lineItemAmount);
|
|
|
|
- //其他费用:合计
|
|
|
|
- erpCredit.setOtherTotalFee(lineItemAmount);
|
|
|
|
|
|
+ //判断WBS描述为工程设计费
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_EDF)){
|
|
|
|
+ erpCredit.setOtherDesignFee(lineItemAmount);
|
|
|
|
+ }
|
|
|
|
+ //判断WBS描述为建设期贷款利息
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OBL)){
|
|
|
|
+ erpCredit.setOtherBuildLoan(lineItemAmount);
|
|
}
|
|
}
|
|
|
|
+ //判断WBS描述为线路施工赔偿费
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OLD)){
|
|
|
|
+ erpCredit.setOtherLineDamages(lineItemAmount);
|
|
|
|
+ }
|
|
|
|
+ //其他费用:法人管理费
|
|
|
|
+ erpCredit.setOtherLegalManage(lineItemAmount);
|
|
|
|
+ //其他费用:合计
|
|
|
|
+ erpCredit.setOtherTotalFee(lineItemAmount);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ if (erpAccount.getMaterialDetails().isEmpty()) {
|
|
|
|
+ //筛选物料描述为空的先筛选(科目名称)中包含(工程成本-待摊支出-其他/工程成本-待摊支出-项目法人管理费-其他/项目管理经费 - 会议费)
|
|
|
|
+ if (erpAccount.getSubjectName().contains(ErpInfo.CON_PlPlQ)||
|
|
|
|
+ erpAccount.getSubjectName().contains(ErpInfo.CON_PLPLPLQ)||
|
|
|
|
+ erpAccount.getSubjectName().contains(ErpInfo.CON_PLM)){
|
|
|
|
+ //筛选(WBS描述)为工程监理费的行项目金额合计
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_PSF)){
|
|
|
|
+ otherSupervisorFee = erpCredit.getOtherSupervisorFee()+lineItemAmount;//监理费
|
|
|
|
+ erpCredit.setOtherSupervisorFee(otherSupervisorFee);
|
|
|
|
+ }
|
|
|
|
+ //判断WBS描述为工程设计费
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_EDF)){
|
|
|
|
+ otherDesignFee = erpCredit.getOtherDesignFee() + lineItemAmount;//设计费
|
|
|
|
+ erpCredit.setOtherDesignFee(otherDesignFee);
|
|
|
|
+ }
|
|
|
|
+ //判断WBS描述为建设期贷款利息
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OBL)){
|
|
|
|
+ otherBuildLoan =erpCredit.getOtherBuildLoan()+lineItemAmount;//建设期贷款利息
|
|
|
|
+ erpCredit.setOtherBuildLoan(otherBuildLoan);
|
|
|
|
+ }
|
|
|
|
+ //判断WBS描述为线路施工赔偿费
|
|
|
|
+ if (erpAccount.getWbsDetails().equals(ErpInfo.CON_OLD)){
|
|
|
|
+ otherLineDamages = erpCredit.getOtherLineDamages()+lineItemAmount;//建设期贷款利息
|
|
|
|
+ erpCredit.setOtherLineDamages(otherLineDamages);
|
|
|
|
+ }
|
|
|
|
+ //其他费用:法人管理费
|
|
|
|
+ otherLegalManage=erpCredit.getOtherLegalManage()+lineItemAmount;
|
|
|
|
+ erpCredit.setOtherLegalManage(otherLegalManage);
|
|
|
|
+ //其他费用:合计
|
|
|
|
+ otherTotalFee = erpCredit.getOtherTotalFee()+ lineItemAmount;
|
|
|
|
+ erpCredit.setOtherTotalFee(otherTotalFee);
|
|
}
|
|
}
|
|
- erpCredits.add(erpCredit);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return erpCredits;
|
|
|
|
|
|
+ return erpCredit;
|
|
}
|
|
}
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 获取设备的list集合
|
|
* 获取设备的list集合
|
|
* @param list 导入的表格 bean对象
|
|
* @param list 导入的表格 bean对象
|
|
@@ -313,15 +484,11 @@ public class ErpInfo {
|
|
flag=true;
|
|
flag=true;
|
|
erpAccount=list.get(i);
|
|
erpAccount=list.get(i);
|
|
//判断设备台数是否为空
|
|
//判断设备台数是否为空
|
|
- if (erpAccount.getTheNumber().isEmpty()){//设备台数
|
|
|
|
- eqmNumbers=0.0; //为空时 赋初始值0.0
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (!erpAccount.getTheNumber().isEmpty()){//设备台数
|
|
eqmNumbers = Double.parseDouble(erpAccount.getTheNumber()); //否则 获取设备台数 信息
|
|
eqmNumbers = Double.parseDouble(erpAccount.getTheNumber()); //否则 获取设备台数 信息
|
|
}
|
|
}
|
|
//判断如行项目金额是否为空
|
|
//判断如行项目金额是否为空
|
|
- if (erpAccount.getLineItemAmount().isEmpty()){
|
|
|
|
- eqmBookedFee=0.0;//入账金额赋初始值
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (!erpAccount.getLineItemAmount().isEmpty()){
|
|
eqmBookedFee = Double.parseDouble(erpAccount.getLineItemAmount());//行项目金额赋值费入账金额
|
|
eqmBookedFee = Double.parseDouble(erpAccount.getLineItemAmount());//行项目金额赋值费入账金额
|
|
}
|
|
}
|
|
//判断当前 设备费 集合是否存在
|
|
//判断当前 设备费 集合是否存在
|
|
@@ -332,9 +499,9 @@ public class ErpInfo {
|
|
if (erpCreditChild1.getErpCredit().getItemId().equals(erpAccount.getProjectDefinitionCode())) {
|
|
if (erpCreditChild1.getErpCredit().getItemId().equals(erpAccount.getProjectDefinitionCode())) {
|
|
//判断物料描述是否相同
|
|
//判断物料描述是否相同
|
|
if (erpAccount.getMaterialDetails().equals(erpCreditChild1.getEqmMaterialDetails1())) {
|
|
if (erpAccount.getMaterialDetails().equals(erpCreditChild1.getEqmMaterialDetails1())) {
|
|
- eqmBookedFee += erpCreditChild1.getEqmBookedFee1();//累加 入账金额
|
|
|
|
|
|
+ eqmBookedFee = erpCreditChild1.getEqmBookedFee1()+eqmBookedFee;//累加 入账金额
|
|
erpCreditChild1.setEqmBookedFee1(eqmBookedFee);//替换
|
|
erpCreditChild1.setEqmBookedFee1(eqmBookedFee);//替换
|
|
- eqmNumbers += erpCreditChild1.getEqmNumbers();//累计 数量
|
|
|
|
|
|
+ eqmNumbers = erpCreditChild1.getEqmNumbers()+eqmNumbers;//累计 数量
|
|
erpCreditChild1.setEqmNumbers(eqmNumbers);//替换
|
|
erpCreditChild1.setEqmNumbers(eqmNumbers);//替换
|
|
flag = false;// 项目定义编号相同且物料描述相同(当前ErpAccount对象在ErpCreditChild1对象中存在且相同 跳过下面方法)
|
|
flag = false;// 项目定义编号相同且物料描述相同(当前ErpAccount对象在ErpCreditChild1对象中存在且相同 跳过下面方法)
|
|
break;
|
|
break;
|
|
@@ -367,6 +534,7 @@ public class ErpInfo {
|
|
erpCreditChild1.setEqmUnit(erpAccount.getUnit());//添加的单位
|
|
erpCreditChild1.setEqmUnit(erpAccount.getUnit());//添加的单位
|
|
erpCreditChild1.setEqmNumbers(eqmNumbers);//添加数量
|
|
erpCreditChild1.setEqmNumbers(eqmNumbers);//添加数量
|
|
erpCreditChild1.setEqmBookedFee1(eqmBookedFee);//添加入账金额
|
|
erpCreditChild1.setEqmBookedFee1(eqmBookedFee);//添加入账金额
|
|
|
|
+ erpCreditChild1.setEqmSupplierName(erpAccount.getSupplierName());//添加供应商
|
|
erpCreditChild1.setErpCredit(erpCredit);
|
|
erpCreditChild1.setErpCredit(erpCredit);
|
|
creditListChild1.add(erpCreditChild1);
|
|
creditListChild1.add(erpCreditChild1);
|
|
}
|
|
}
|
|
@@ -384,6 +552,7 @@ public class ErpInfo {
|
|
List<ErpCreditChild2> creditListChild2 = new ArrayList<ErpCreditChild2>();
|
|
List<ErpCreditChild2> creditListChild2 = new ArrayList<ErpCreditChild2>();
|
|
boolean flag = true;//判断 材料费 true-物料描述不同或者项目定义编号不同 false-仙姑定义编号物料描述相同
|
|
boolean flag = true;//判断 材料费 true-物料描述不同或者项目定义编号不同 false-仙姑定义编号物料描述相同
|
|
double eqmBookedFee2=0.0;//材料入账金额
|
|
double eqmBookedFee2=0.0;//材料入账金额
|
|
|
|
+ double eqmNumber2=0.0;//设备台数
|
|
ErpCreditChild2 erpCreditChild2=null;
|
|
ErpCreditChild2 erpCreditChild2=null;
|
|
ErpCredit erpCredit = null;
|
|
ErpCredit erpCredit = null;
|
|
ErpAccount erpAccount=null;
|
|
ErpAccount erpAccount=null;
|
|
@@ -391,12 +560,13 @@ public class ErpInfo {
|
|
flag=true;//默认初始值 项目定义编号不同
|
|
flag=true;//默认初始值 项目定义编号不同
|
|
erpAccount = erpAccounts.get(i);
|
|
erpAccount = erpAccounts.get(i);
|
|
//判断行项目金额是否为空
|
|
//判断行项目金额是否为空
|
|
- if (erpAccount.getLineItemAmount().isEmpty()){
|
|
|
|
- eqmBookedFee2 = 0.0;//材料入账金额初始值为0.0
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (!erpAccount.getLineItemAmount().isEmpty()){
|
|
//赋值材料入账金额为行项目金额
|
|
//赋值材料入账金额为行项目金额
|
|
eqmBookedFee2 = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
eqmBookedFee2 = Double.parseDouble(erpAccount.getLineItemAmount());
|
|
}
|
|
}
|
|
|
|
+ if (!erpAccount.getTheNumber().isEmpty()){//判断设备材料
|
|
|
|
+ eqmNumber2=Double.parseDouble(erpAccount.getTheNumber());
|
|
|
|
+ }
|
|
//判断creditListChild2对象集合 是否存在
|
|
//判断creditListChild2对象集合 是否存在
|
|
if (null!=creditListChild2&&creditListChild2.size()>0){
|
|
if (null!=creditListChild2&&creditListChild2.size()>0){
|
|
for (int j = 0; j < creditListChild2.size(); j++) {
|
|
for (int j = 0; j < creditListChild2.size(); j++) {
|
|
@@ -405,8 +575,10 @@ public class ErpInfo {
|
|
if (erpCreditChild2.getErpCredit().getItemId().equals(erpAccount.getProjectDefinitionCode())) {
|
|
if (erpCreditChild2.getErpCredit().getItemId().equals(erpAccount.getProjectDefinitionCode())) {
|
|
//判断物料描述是否相同
|
|
//判断物料描述是否相同
|
|
if (erpAccount.getMaterialDetails().equals(erpCreditChild2.getEqmMaterialDetails2())) {
|
|
if (erpAccount.getMaterialDetails().equals(erpCreditChild2.getEqmMaterialDetails2())) {
|
|
- eqmBookedFee2 += erpCreditChild2.getMtlBookedFee2();
|
|
|
|
|
|
+ eqmBookedFee2 += erpCreditChild2.getMtlBookedFee2();//入账金额累加
|
|
erpCreditChild2.setMtlBookedFee2(eqmBookedFee2);
|
|
erpCreditChild2.setMtlBookedFee2(eqmBookedFee2);
|
|
|
|
+ eqmNumber2 = erpCreditChild2.getMtlNumbers()+eqmNumber2;//台数累加
|
|
|
|
+ erpCreditChild2.setMtlNumbers(eqmNumber2);//添加设备台数
|
|
flag=false;
|
|
flag=false;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -426,6 +598,9 @@ public class ErpInfo {
|
|
erpCredit.setItemId(erpAccount.getProjectDefinitionCode());//添加项目id
|
|
erpCredit.setItemId(erpAccount.getProjectDefinitionCode());//添加项目id
|
|
erpCreditChild2.setEqmMaterialDetails2(erpAccount.getMaterialDetails());//添加物料描述
|
|
erpCreditChild2.setEqmMaterialDetails2(erpAccount.getMaterialDetails());//添加物料描述
|
|
erpCreditChild2.setMtlBookedFee2(eqmBookedFee2);//添加项目材料费
|
|
erpCreditChild2.setMtlBookedFee2(eqmBookedFee2);//添加项目材料费
|
|
|
|
+ erpCreditChild2.setMtlNumbers(eqmNumber2);//添加设备台数
|
|
|
|
+ erpCreditChild2.setMtlUnit(erpAccount.getUnit());//添加设备单位
|
|
|
|
+ erpCreditChild2.setMtlSupplierName(erpAccount.getSupplierName());//添加供应商
|
|
erpCreditChild2.setErpCredit(erpCredit);
|
|
erpCreditChild2.setErpCredit(erpCredit);
|
|
creditListChild2.add(erpCreditChild2);
|
|
creditListChild2.add(erpCreditChild2);
|
|
}
|
|
}
|
|
@@ -434,62 +609,4 @@ public class ErpInfo {
|
|
}
|
|
}
|
|
return creditListChild2;
|
|
return creditListChild2;
|
|
}
|
|
}
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 获取 10kv数据集合
|
|
|
|
- * @param erpAccounts
|
|
|
|
- * @return List<ErpCreditChild3> 10KV线路信息
|
|
|
|
- */
|
|
|
|
- public static List<ErpCreditChild3> getListErpCreditChild3(List<ErpAccount> erpAccounts){
|
|
|
|
- List<ErpCreditChild3> creditChild3s = new ArrayList<ErpCreditChild3>();
|
|
|
|
- boolean flag = true;//判断 10KV线路信息
|
|
|
|
- ErpCredit erpCredit;
|
|
|
|
- ErpAccount erpAccount;
|
|
|
|
- Double tenKvLength;//10kv线路信息长度
|
|
|
|
- ErpCreditChild3 erpCreditChild3;
|
|
|
|
- for (int i = 0; i < erpAccounts.size(); i++) {
|
|
|
|
- flag=true;
|
|
|
|
- erpAccount = erpAccounts.get(i);
|
|
|
|
- if (erpAccount.getTheNumber().isEmpty()){
|
|
|
|
- tenKvLength=0.0;
|
|
|
|
- }else {
|
|
|
|
- tenKvLength = Double.parseDouble(erpAccount.getTheNumber());
|
|
|
|
- }
|
|
|
|
- //相同判断
|
|
|
|
- if (null!=creditChild3s&&creditChild3s.size()>0){
|
|
|
|
- for (int j = 0; j < creditChild3s.size(); j++) {
|
|
|
|
- erpCreditChild3 = creditChild3s.get(j);
|
|
|
|
- if (erpCreditChild3.getErpCredit().getItemId().equals(erpAccount.getProjectDefinitionCode())) {
|
|
|
|
- //判断物料描述是否相同
|
|
|
|
- if (erpAccount.getMaterialDetails().equals(erpCreditChild3.getTenKvModel())) {
|
|
|
|
- tenKvLength +=erpCreditChild3.getTenKvLength();
|
|
|
|
- erpCreditChild3.setTenKvLength(tenKvLength);
|
|
|
|
- erpCreditChild3.setTenKvLineLength(tenKvLength);
|
|
|
|
- erpCreditChild3.setTenKvItsLine(tenKvLength);
|
|
|
|
- flag=false;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (flag){//赋值初始值
|
|
|
|
- if (erpAccount.getMaterialDetails().contains(ErpInfo.CON_OICAC10)||
|
|
|
|
- erpAccount.getMaterialDetails().contains(ErpInfo.CON_OICAC20)||
|
|
|
|
- erpAccount.getMaterialDetails().contains(ErpInfo.CON_PRCAC10)||
|
|
|
|
- erpAccount.getMaterialDetails().contains(ErpInfo.CON_PRCAC20)){
|
|
|
|
- erpCreditChild3 = new ErpCreditChild3();
|
|
|
|
- erpCredit = new ErpCredit();
|
|
|
|
- erpCredit.setItemId(erpAccount.getProjectDefinitionCode());
|
|
|
|
- erpCreditChild3.setTenKvModel(erpAccount.getMaterialDetails());
|
|
|
|
- erpCreditChild3.setTenKvUnit(erpAccount.getUnit());
|
|
|
|
- erpCreditChild3.setTenKvLength(tenKvLength);
|
|
|
|
- erpCreditChild3.setTenKvLineLength(tenKvLength);
|
|
|
|
- erpCreditChild3.setTenKvItsLine(tenKvLength);
|
|
|
|
- erpCreditChild3.setErpCredit(erpCredit);
|
|
|
|
- creditChild3s.add(erpCreditChild3);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return creditChild3s;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|