xs vor 5 Jahren
Ursprung
Commit
02512d403b

+ 56 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/entity/ErpCredit.java

@@ -36,6 +36,62 @@ public class ErpCredit extends DataEntity<ErpCredit>{
     private List<ErpCreditEquipment> erpCreditChild1s = new ArrayList<ErpCreditEquipment>();
     private List<ErpCreditEquipment> erpCreditChild1s = new ArrayList<ErpCreditEquipment>();
     private List<ErpCreditMaterial> erpCreditChild2s = new ArrayList<ErpCreditMaterial>();
     private List<ErpCreditMaterial> erpCreditChild2s = new ArrayList<ErpCreditMaterial>();
 
 
+    private Double designFeePayable;//设计费应付金额
+    private Double constructionFeePayable;//施工费应付金额
+    private Double supervisorFeePayable;//监理费应付金额
+
+    private String designStatus;//存在问题状态
+    private String constructionStatus;
+    private String supervisorStatus;
+
+    public String getDesignStatus() {
+        return designStatus;
+    }
+
+    public void setDesignStatus(String designStatus) {
+        this.designStatus = designStatus;
+    }
+
+    public String getConstructionStatus() {
+        return constructionStatus;
+    }
+
+    public void setConstructionStatus(String constructionStatus) {
+        this.constructionStatus = constructionStatus;
+    }
+
+    public String getSupervisorStatus() {
+        return supervisorStatus;
+    }
+
+    public void setSupervisorStatus(String supervisorStatus) {
+        this.supervisorStatus = supervisorStatus;
+    }
+
+    public Double getDesignFeePayable() {
+        return designFeePayable;
+    }
+
+    public void setDesignFeePayable(Double designFeePayable) {
+        this.designFeePayable = designFeePayable;
+    }
+
+    public Double getConstructionFeePayable() {
+        return constructionFeePayable;
+    }
+
+    public void setConstructionFeePayable(Double constructionFeePayable) {
+        this.constructionFeePayable = constructionFeePayable;
+    }
+
+    public Double getSupervisorFeePayable() {
+        return supervisorFeePayable;
+    }
+
+    public void setSupervisorFeePayable(Double supervisorFeePayable) {
+        this.supervisorFeePayable = supervisorFeePayable;
+    }
+
     public String getStatus() {
     public String getStatus() {
         return status;
         return status;
     }
     }

+ 49 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/entity/ErpJudgeAccount.java

@@ -0,0 +1,49 @@
+package com.jeeplus.modules.sg.financial.erpcredit.entity;
+
+public class ErpJudgeAccount {
+    private String itemId;//项目id
+    private String itemName;//项目名称
+    private String flagItem;//是否有信息
+    private String itemSupplierName;//供应商名称
+    private String status;
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(String itemId) {
+        this.itemId = itemId;
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+
+    public String getFlagItem() {
+        return flagItem;
+    }
+
+    public void setFlagItem(String flagItem) {
+        this.flagItem = flagItem;
+    }
+
+    public String getItemSupplierName() {
+        return itemSupplierName;
+    }
+
+    public void setItemSupplierName(String itemSupplierName) {
+        this.itemSupplierName = itemSupplierName;
+    }
+}

+ 31 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/entity/ErpJudgeArtificial.java

@@ -0,0 +1,31 @@
+package com.jeeplus.modules.sg.financial.erpcredit.entity;
+
+public class ErpJudgeArtificial {
+    private String itemId;//项目id
+
+//    private String constructionFeePayable;//施工费应付金额
+//    private String consTotalFee;//施工:总计
+//    private String designFeePayable;//设计费应付金额
+//    private String otherDesignFee;//其他设计费
+//    private String supervisorFeePayable;//监理费应付金额
+//    private String otherSupervisorFee;//其他:监理费
+
+    private String notTheSame;//不一样类别
+
+    public String getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(String itemId) {
+        this.itemId = itemId;
+    }
+
+
+    public String getNotTheSame() {
+        return notTheSame;
+    }
+
+    public void setNotTheSame(String notTheSame) {
+        this.notTheSame = notTheSame;
+    }
+}

+ 78 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/entity/ErpJudgeExport.java

@@ -0,0 +1,78 @@
+package com.jeeplus.modules.sg.financial.erpcredit.entity;
+
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+
+public class ErpJudgeExport {
+    private String itemId;//项目id
+    private String itemName;//项目名称
+    private String constructionFeePayable;//施工费应付金额
+    private String consTotalFee;//施工:总计
+    private String designFeePayable;//设计费应付金额
+    private String otherDesignFee;//其他设计费
+    private String supervisorFeePayable;//监理费应付金额
+    private String otherSupervisorFee;//其他:监理费
+    @ExcelField(title="项目定义号", align=2, sort=1)
+    public String getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(String itemId) {
+        this.itemId = itemId;
+    }
+    @ExcelField(title="项目名称", align=2, sort=2)
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+    @ExcelField(title="施工费应付金额", align=2, sort=3)
+    public String getConstructionFeePayable() {
+        return constructionFeePayable;
+    }
+
+    public void setConstructionFeePayable(String constructionFeePayable) {
+        this.constructionFeePayable = constructionFeePayable;
+    }
+    @ExcelField(title="施工费实付金额", align=2, sort=4)
+    public String getConsTotalFee() {
+        return consTotalFee;
+    }
+
+    public void setConsTotalFee(String consTotalFee) {
+        this.consTotalFee = consTotalFee;
+    }
+    @ExcelField(title="设计费应付金额", align=2, sort=5)
+    public String getDesignFeePayable() {
+        return designFeePayable;
+    }
+
+    public void setDesignFeePayable(String designFeePayable) {
+        this.designFeePayable = designFeePayable;
+    }
+    @ExcelField(title="设计费实付金额", align=2, sort=6)
+    public String getOtherDesignFee() {
+        return otherDesignFee;
+    }
+
+    public void setOtherDesignFee(String otherDesignFee) {
+        this.otherDesignFee = otherDesignFee;
+    }
+    @ExcelField(title="监理费应付金额", align=2, sort=7)
+    public String getSupervisorFeePayable() {
+        return supervisorFeePayable;
+    }
+
+    public void setSupervisorFeePayable(String supervisorFeePayable) {
+        this.supervisorFeePayable = supervisorFeePayable;
+    }
+    @ExcelField(title="监理费实付金额", align=2, sort=8)
+    public String getOtherSupervisorFee() {
+        return otherSupervisorFee;
+    }
+
+    public void setOtherSupervisorFee(String otherSupervisorFee) {
+        this.otherSupervisorFee = otherSupervisorFee;
+    }
+}

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

@@ -8,6 +8,7 @@ import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
 import com.jeeplus.core.service.CrudService;
 import com.jeeplus.modules.sg.audit.information.entity.Information;
 import com.jeeplus.modules.sg.audit.information.entity.Information;
 import com.jeeplus.modules.sg.audit.information.service.InformationService;
 import com.jeeplus.modules.sg.audit.information.service.InformationService;
+import com.jeeplus.modules.sg.audit.information.utils.RandomUtil;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditEquipment;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditEquipment;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditMaterial;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCreditMaterial;
@@ -28,7 +29,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
 import java.io.*;
 import java.io.*;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -239,7 +242,7 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
         // this.deleteFile(newFile);
         // this.deleteFile(newFile);
     }
     }
 
 
-
+    //验证:该预算数据
     //验证汇总
     //验证汇总
     public List<ErpJudge> getAllCheck(List<ErpCredit> erpCredits){
     public List<ErpJudge> getAllCheck(List<ErpCredit> erpCredits){
         Boolean flag = true;
         Boolean flag = true;
@@ -386,4 +389,97 @@ public class ErpCreditService extends CrudService<ErpCreditMapper,ErpCredit> {
         }
         }
         return erpJudges;
         return erpJudges;
     }
     }
+
+    public void getFtpList(HttpServletRequest request,String string){
+        String canonicalPath = "";
+        try {
+            HttpSession session = request.getSession();
+            Object oldPath = session.getAttribute("ErpPath");
+            if (oldPath != null && oldPath != "") {
+                RandomUtil.delete(oldPath.toString());
+                session.removeAttribute("ErpPath");
+            }
+            File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
+            String fileName = RandomUtil.getRandomFileName();
+            File temp = new File(path + "\\" + fileName);
+            /**
+             * 在临时文件中写入内容
+             */
+            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(temp));
+            bufferedWriter.write(string);
+            bufferedWriter.close();
+            canonicalPath = temp.getCanonicalPath();
+            request.getSession().setAttribute("ErpPath",canonicalPath);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+    public void getAllFtpList(HttpServletRequest request,String string){
+        String canonicalPath = "";
+        try {
+            HttpSession session = request.getSession();
+            Object oldPath = session.getAttribute("AllErpPath");
+            if (oldPath != null && oldPath != "") {
+                RandomUtil.delete(oldPath.toString());
+                session.removeAttribute("AllErpPath");
+            }
+            File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
+            String fileName = RandomUtil.getRandomFileName();
+            File temp = new File(path + "\\" + fileName);
+            /**
+             * 在临时文件中写入内容
+             */
+            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(temp));
+            bufferedWriter.write(string);
+            bufferedWriter.close();
+            canonicalPath = temp.getCanonicalPath();
+            request.getSession().setAttribute("AllErpPath",canonicalPath);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public String getFtpErpList(HttpServletRequest request){
+        HttpSession session = request.getSession();
+        Object path = session.getAttribute("ErpPath");
+        String str= "";
+        if (path != null && !path.equals("")) {
+            try {
+                BufferedReader bufferedReader = null;
+                bufferedReader = new BufferedReader(new FileReader(path.toString()));
+                String string;
+                while ((string = bufferedReader.readLine()) != null) {
+                    str = string;
+                }
+                bufferedReader.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        RandomUtil.delete(path.toString());
+        session.removeAttribute("ErpPath");
+        return str;
+    }
+
+    public String getAllFtpErpList(HttpServletRequest request){
+        HttpSession session = request.getSession();
+        Object path = session.getAttribute("AllErpPath");
+        String str= "";
+        if (path != null && !path.equals("")) {
+            try {
+                BufferedReader bufferedReader = null;
+                bufferedReader = new BufferedReader(new FileReader(path.toString()));
+                String string;
+                while ((string = bufferedReader.readLine()) != null) {
+                    str = string;
+                }
+                bufferedReader.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        RandomUtil.delete(path.toString());
+        session.removeAttribute("AllErpPath");
+        return str;
+    }
 }
 }

+ 376 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/CostAccountUnits.java

@@ -0,0 +1,376 @@
+package com.jeeplus.modules.sg.financial.erpcredit.util;
+
+import com.jeeplus.modules.sg.audit.information.entity.Information;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpAccount;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
+import com.jeeplus.modules.sg.financial.expense.entity.Expense;
+import com.jeeplus.modules.sg.financial.settlement.entity.MaintainData;
+import io.swagger.models.auth.In;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 费用入账工具类
+ */
+public class CostAccountUnits {
+    public static List<Expense> getQCExpense(List<ErpCredit> erpCredits,List<Expense> expenses){
+        List<Expense> expenseList = new ArrayList<Expense>();
+        boolean flag = false;
+        for (Expense expense:expenses){
+            flag = false;
+            for (ErpCredit erpCredit1:erpCredits){
+                if (expense.getProjectId().equals(erpCredit1.getItemId())){
+                    flag = true;
+                    break;
+                }
+            }
+            if (flag){
+                expenseList.add(expense);
+            }
+        }
+        return getOneErpListJudge(expenseList);
+    }
+
+    //得到 2020年项目
+    public static List<Expense> getOneErpListJudge(List<Expense> expenses){
+        String projectBatch = "";
+//        List<Expense> expensesList = new ArrayList<Expense>();
+        boolean yearJudgment = false;
+        for (Expense expense:expenses){
+            projectBatch = expense.getProjectBatch();
+            if (null!=projectBatch&&!"".equals(projectBatch)){
+               yearJudgment = getYearJudgment(projectBatch);
+               if (yearJudgment){
+                  expense.setStatus("0");
+               }else {
+                   expense.setStatus("1");
+               }
+            }
+        }
+        return expenses;
+    }
+
+    //判断项目时间
+    public static boolean getYearJudgment(String projectBatch){
+        Integer yearNumber = 2020;
+        if (projectBatch.length()>=4){
+            projectBatch = projectBatch.substring(0,4);
+            yearNumber = new Integer(projectBatch);
+            if (yearNumber>=2020){
+                return true;
+            }
+        }
+        return false;
+    }
+    //2020之前的项目费用入账判断(无问题)设计费 实际付款金额
+    public static Map<String,List<ErpCredit>> getJudgeDesign(List<ErpCredit> erpCredits, List<Expense> expenses){
+        Map<String,List<ErpCredit>> designMap = new HashMap<String, List<ErpCredit>>();
+        //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题 集合
+        List<ErpCredit> erpCredits1 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题;
+        List<ErpCredit> erpCredits2 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题
+        List<ErpCredit> erpCredits3 = new ArrayList<ErpCredit>();
+        Double otherDesignFee = 0.0;//=ERP明细账生成数据中设计费入账金额(不含税价)
+        for (ErpCredit erpCredit:erpCredits){
+            otherDesignFee = erpCredit.getOtherDesignFee();
+            for (Expense expense:expenses){
+                if (erpCredit.getItemId().equals(expense.getProjectId())){
+                    erpCredit.setDesignFeePayable(expense.getDesignFeePayable());//设计费应付金额
+                    //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题
+                    if (expense.getDesignFeePayable()>= otherDesignFee-0.01 && expense.getDesignFeePayable()<= otherDesignFee+0.01){
+                        erpCredits1.add(erpCredit);//无问题
+                    }else if (expense.getDesignFeePayable()>otherDesignFee){
+                        erpCredit.setDesignStatus("2");
+                        erpCredit.setDesignFeePayable(expense.getDesignFeePayable());
+                        erpCredits2.add(erpCredit);//存在问题
+                    }else {
+                        erpCredit.setDesignStatus("1");
+                        erpCredit.setDesignFeePayable(expense.getDesignFeePayable());
+                        erpCredits3.add(erpCredit);//<存在问题
+                    }
+                    break;
+                }
+            }
+        }
+        designMap.put("designNoProblem",erpCredits1);//无问题
+        designMap.put("designThanProblem",erpCredits2);//人工判断
+        designMap.put("designYesProblem",erpCredits3);//存在问题导出
+        return designMap;
+    }
+
+    //项目费用入账判断设计费 设计费应付金额
+    public static List<Expense> getJudgeDesignActual(List<Expense> expenses, List<MaintainData> maintainDatas){
+        double investment = 0.0;    //发文总投资
+        double estimateTotal = 0.0;//概算总金额
+        double designFee = 0.0;//概预算中设计费设计费
+        double designCost = 0.0;//设计费合同则扣
+        double designTypeicalCost =0.0;//设计费典型设计折扣
+        double documentDesignCost = 0.0;//发文中设计费金额(不含税)
+        double designFeePayable = 0.0;//设计费应付金额 不含税价
+        List<Expense> expenseList = new ArrayList<Expense>();
+        for (Expense expense:expenses){
+            designCost = expense.getDesignCost();
+            designTypeicalCost = expense.getDesignTypeicalCost();
+            documentDesignCost = expense.getDocumentDesignCost();//发文中设计费金额(不含税)
+            for (MaintainData maintainData:maintainDatas){
+                //项目定义号相同
+               if (expense.getProjectId().equals(maintainData.getProjectId())){
+                   investment = Double.valueOf(maintainData.getInvestment());//发文总投资
+                   estimateTotal = maintainData.getDesignFee()+maintainData.getBuildingFee()+maintainData.getEquipmentFee()+maintainData.getMaterialFee()+maintainData
+                           .getInstallFee()+maintainData.getSupervisionFee()+maintainData.getPreliminaryWorkFee()+maintainData.getDamages()+maintainData.getManagementFee();
+                   estimateTotal = estimateTotal/10000;//发文总金额(----------------------------------------)
+                    if (expense.getStatus().equals("1")){//2020年之前项目
+                        if (investment<=estimateTotal+0.01 && investment>=estimateTotal-0.01){
+                            designFee = maintainData.getDesignFee();//该预算中设计费
+                            designFeePayable = designFee*designCost*designTypeicalCost/1.06;//不含税价
+                        }else {
+                            designFeePayable =  documentDesignCost*designCost*designTypeicalCost/1.06;//不换税价
+                        }
+                    }else {//2020年之后项目
+                        if (investment<=estimateTotal+0.01 && investment>=estimateTotal-0.01){
+                            designFee = maintainData.getDesignFee();//该预算中设计费
+                            designFeePayable = designFee*designCost*designTypeicalCost*1.06;
+                        }else {
+                            designFeePayable =  documentDesignCost*designCost*designTypeicalCost*1.06;
+                        }
+                    }
+                   expense.setDesignFeePayable(designFeePayable);//设计费应付金额
+                   expenseList.add(expense);
+                   break;
+               }
+            }
+        }
+        return expenses;
+    }
+    //2020之前的项目费用入账判断(无问题)监理费 实际付款金额
+    public static Map<String,List<ErpCredit>> getJudgeSupervisorFee(List<ErpCredit> erpCredits, List<Expense> expenses){
+        Map<String,List<ErpCredit>> supervisorFeeMap = new HashMap<String, List<ErpCredit>>();
+        //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题 集合
+        List<ErpCredit> erpCredits1 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题;
+        List<ErpCredit> erpCredits2 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题
+        List<ErpCredit> erpCredits3 = new ArrayList<ErpCredit>();
+        Double otherSupervisorFee = 0.0;//=ERP明细账生成数据中监理费入账金额(不含税价)
+        for (ErpCredit erpCredit:erpCredits){
+            otherSupervisorFee = erpCredit.getOtherSupervisorFee();
+            for (Expense expense:expenses){
+                if (erpCredit.getItemId().equals(expense.getProjectId())){
+                    erpCredit.setSupervisorFeePayable(expense.getSupervisorFeePayable());//监理费
+                    //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题
+                    if (expense.getSupervisorFeePayable()>= otherSupervisorFee-0.01 && expense.getSupervisorFeePayable()<= otherSupervisorFee+0.01){
+                        erpCredits1.add(erpCredit);//无问题
+                    }else if (expense.getSupervisorFeePayable()>otherSupervisorFee){
+                        erpCredit.setSupervisorStatus("2");
+                        erpCredit.setSupervisorFeePayable(expense.getSupervisorFeePayable());
+                        erpCredits2.add(erpCredit);//存在问题
+                    }else {
+                        erpCredit.setSupervisorStatus("1");
+                        erpCredit.setSupervisorFeePayable(expense.getSupervisorFeePayable());
+                        erpCredits3.add(erpCredit);//<存在问题
+                    }
+                    break;
+                }
+            }
+        }
+        supervisorFeeMap.put("supervisorNoProblem",erpCredits1);//无问题
+        supervisorFeeMap.put("supervisorThanProblem",erpCredits2);//人工判断
+        supervisorFeeMap.put("supervisorYesProblem",erpCredits3);//存在问题导出
+        return supervisorFeeMap;
+    }
+
+    //项目费用入账判断监理费 监理费应付金额
+    public static List<Expense> getJudgeSupervisorFeeActual(List<Expense> expenses, List<MaintainData> maintainDatas){
+        double investment = 0.0;    //发文总投资
+        double estimateTotal = 0.0;//概算总金额
+        double supervisionFee = 0.0;//概预算中监理费
+        double supervisionCost = 0.0;//监理费合同则扣
+        double supervisionTypeicalCost =0.0;//监理费典型设计折扣
+        double documentSupervisionCost = 0.0;//发文中监理费金额(不含税)
+        double supervisorFeePayable = 0.0;//监理费应付金额
+        List<Expense> expenseList = new ArrayList<Expense>();
+        for (Expense expense:expenses){
+            supervisionCost = expense.getSupervisionCost();//监理费合同则扣
+            supervisionTypeicalCost = expense.getSupervisionTypeicalCost();//监理费典型设计折扣
+            documentSupervisionCost = expense.getDocumentSupervisionCost();//监理费应付金额 不含税价
+            for (MaintainData maintainData:maintainDatas){
+                //项目定义号相同
+                if (expense.getProjectId().equals(maintainData.getProjectId())){
+                    investment = Double.valueOf(maintainData.getInvestment());//发文总投资
+                    estimateTotal = maintainData.getDesignFee()+maintainData.getBuildingFee()+maintainData.getEquipmentFee()+maintainData.getMaterialFee()+maintainData
+                            .getInstallFee()+maintainData.getSupervisionFee()+maintainData.getPreliminaryWorkFee()+maintainData.getDamages()+maintainData.getManagementFee();
+                    estimateTotal = estimateTotal/10000;//发文总金额(----------------------------------------)
+                    if (expense.getStatus().equals("1")){//2020年之前项目
+                        if (investment<=estimateTotal+0.01 && investment>=estimateTotal-0.01){
+                            supervisionFee = maintainData.getSupervisionFee();//概预算中监理费金额
+                            supervisorFeePayable = supervisionFee*supervisionCost*supervisionTypeicalCost/1.06;//不含税价
+                        }else {
+                            supervisorFeePayable =  documentSupervisionCost*supervisionCost*supervisionTypeicalCost/1.06;//不换税价
+                        }
+                    }else {//2020年之后项目
+                        if (investment<=estimateTotal+0.01 && investment>=estimateTotal-0.01){
+                            supervisionFee = maintainData.getSupervisionFee();//概预算中监理费金额
+                            supervisorFeePayable = supervisionFee*supervisionCost*supervisionTypeicalCost*1.06;
+                        }else {
+                            supervisorFeePayable =  documentSupervisionCost*supervisionCost*supervisionTypeicalCost*1.06;
+                        }
+                    }
+                    expense.setSupervisorFeePayable(supervisorFeePayable);//设计费应付金额
+                    expenseList.add(expense);
+                    break;
+                }
+            }
+        }
+        return expenses;
+    }
+
+    //2020之前的项目费用入账判断(无问题)施工费 实际付款金额
+    public static Map<String,List<ErpCredit>> getJudgeConsFee(List<ErpCredit> erpCredits, List<Expense> expenses){
+        Map<String,List<ErpCredit>> consFeeMap = new HashMap<String, List<ErpCredit>>();
+        //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题 集合
+        List<ErpCredit> erpCredits1 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题;
+        List<ErpCredit> erpCredits2 = new ArrayList<ErpCredit>();
+        //若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题
+        List<ErpCredit> erpCredits3 = new ArrayList<ErpCredit>();
+        Double consTotalFee = 0.0;//=ERP明细账生成数据中监理费入账金额(不含税价)
+        for (ErpCredit erpCredit:erpCredits){
+            consTotalFee = erpCredit.getConsTotalFee();
+            for (Expense expense:expenses){
+                if (erpCredit.getItemId().equals(expense.getProjectId())){
+                    //施工费
+                    erpCredit.setConstructionFeePayable(expense.getConstructionFeePayable());
+                    //若应付金额(不含税价)=实付金额(不含税价),差异若在0.01则忽略不计,则费用入账核实无问题
+                    if (expense.getConstructionFeePayable()>= consTotalFee-0.01 && expense.getSupervisorFeePayable()<= consTotalFee+0.01){
+                        erpCredits1.add(erpCredit);//无问题
+                    }else if (expense.getConstructionFeePayable()>consTotalFee){
+                        erpCredit.setConstructionStatus("2");
+                        erpCredit.setConstructionFeePayable(expense.getConstructionFeePayable());
+                        erpCredits2.add(erpCredit);//存在问题
+                    }else {
+                        erpCredit.setConstructionStatus("1");
+                        erpCredit.setConstructionFeePayable(expense.getConstructionFeePayable());
+                        erpCredits3.add(erpCredit);//<存在问题
+                    }
+                    break;
+                }
+            }
+        }
+        consFeeMap.put("consNoProblem",erpCredits1);//无问题
+        consFeeMap.put("consThanProblem",erpCredits2);//人工判断
+        consFeeMap.put("consYesProblem",erpCredits3);//存在问题导出
+        return consFeeMap;
+    }
+
+    //项目费用入账判断施工费 施工费应付金额
+    public static List<Expense> getJudgeConsFeeActual(List<Information> informationList,List<Expense> expenses){
+        Double constructionFeePayable=0.0;//施工费应付金额
+        Double constructionCost = 0.0; //施工费合同折扣
+        Double settlementPrice = 1.0;//结算审定施工费金额(含税价)
+        for (Expense expense:expenses){
+            settlementPrice = 1.0;
+            constructionFeePayable=0.0;
+            constructionCost = expense.getConstructionCost();//施工合同折扣
+            for (Information information:informationList){
+                if (expense.getProjectId().equals(information.getProjectId())){
+                    //结算审定施工费金额(含税价)如果不为空则赋值
+                    if (null!=information.getSettlementPrice()){
+                        settlementPrice = information.getSettlementPrice();
+                    }
+                    //2020年前的项目
+                    if (expense.getStatus().equals("1")){
+                        constructionFeePayable = constructionCost*settlementPrice/1.09;
+                    }else {//2020后的项目
+                        constructionFeePayable = constructionCost*settlementPrice/1.09;
+                    }
+                    expense.setConstructionFeePayable(constructionFeePayable);
+                    break;
+                }
+            }
+        }
+        return expenses;
+    }
+
+    //方法整合
+    public static Map<String,List<ErpCredit>> getJudgeEnterAccount(List<ErpCredit> erpCredits, List<Expense> expenses,List<Information> informationList,List<MaintainData> maintainDatas){
+        Map<String,List<ErpCredit>> listMap = new HashMap<String, List<ErpCredit>>();
+        //设计费
+        //项目费用入账判断设计费 设计费应付金额
+        List<Expense> judgeDesignActual = getJudgeDesignActual(expenses, maintainDatas);
+        //项目费用入账判断(无问题)设计费 实际付款金额
+        Map<String, List<ErpCredit>> judgeDesign = getJudgeDesign(erpCredits, judgeDesignActual);
+        //监理费
+        List<Expense> judgeSupervisorFeeActual = getJudgeSupervisorFeeActual(expenses, maintainDatas);
+        Map<String, List<ErpCredit>> judgeSupervisorFee = getJudgeSupervisorFee(erpCredits, judgeSupervisorFeeActual);
+        //施工费
+        List<Expense> judgeConsFeeActual = getJudgeConsFeeActual(informationList, expenses);
+        Map<String, List<ErpCredit>> judgeConsFee = getJudgeConsFee(erpCredits, judgeConsFeeActual);
+
+        //获取存在集合的且有问题(应付金额(不含税价)>实付金额(不含税价))
+        List<ErpCredit> designThanProblem = judgeDesign.get("designThanProblem");//获取设计费
+        List<ErpCredit> supervisorThanProblem = judgeSupervisorFee.get("supervisorThanProblem");//获取监理费
+        List<ErpCredit> consThanProblem = judgeConsFee.get("consThanProblem");//获取施工费
+        List<ErpCredit> judgeEnterAccountTwo = getJudgeEnterAccount(designThanProblem, supervisorThanProblem, consThanProblem,"2");
+
+        //若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题。
+        List<ErpCredit> designYesProblem = judgeDesign.get("designYesProblem");//获取设计费
+        List<ErpCredit> supervisorYesProblem = judgeSupervisorFee.get("supervisorYesProblem");//获取监理费
+        List<ErpCredit> consYesProblem = judgeConsFee.get("consYesProblem");//获取施工费
+        List<ErpCredit> judgeEnterAccountThree = getJudgeEnterAccount(designYesProblem, supervisorYesProblem, consYesProblem,"1");
+        listMap.put("judgeEnterAccountTwo",judgeEnterAccountTwo);
+        listMap.put("judgeEnterAccountThree",judgeEnterAccountThree);
+        return listMap;
+    }
+
+
+    //统一list
+    public static List<ErpCredit> getJudgeEnterAccount(List<ErpCredit> erpCredits1,List<ErpCredit> erpCredits2,List<ErpCredit> erpCredits3,String status){
+        List<ErpCredit> list = new ArrayList<ErpCredit>();
+        List<ErpCredit> sureList = new ArrayList<ErpCredit>();
+        for (ErpCredit erpCredit1:erpCredits1){
+            list.add(erpCredit1);
+        }
+        for (ErpCredit erpCredit2:erpCredits2){
+            list.add(erpCredit2);
+        }
+        for (ErpCredit erpCredit3:erpCredits3){
+            list.add(erpCredit3);
+        }
+        boolean flag = true;
+        for (ErpCredit erpCredit:list){
+            flag = true;
+            for (ErpCredit sureErp:sureList){
+                if (erpCredit.getItemId().equals(sureErp.getItemId())){
+                    if (null!=erpCredit.getDesignStatus()){//设计费存在问题
+                      if (erpCredit.getDesignStatus().equals(status)){
+                          sureErp.setDesignStatus(status);
+                          sureErp.setDesignFeePayable(erpCredit.getDesignFeePayable());
+                      }
+                    }
+                    if (null!=erpCredit.getConstructionStatus()){
+                       if (erpCredit.getConstructionStatus().equals(status)){
+                           sureErp.setConstructionStatus(status);
+                           sureErp.setConstructionFeePayable(erpCredit.getConstructionFeePayable());
+                       }
+                    }
+                    if (null!=erpCredit.getSupervisorStatus()){
+                        if (erpCredit.getSupervisorStatus().equals(status)){
+                            sureErp.setSupervisorStatus(status);
+                            sureErp.setSupervisorFeePayable(erpCredit.getSupervisorFeePayable());
+                        }
+                    }
+                    flag = false;
+                }
+            }
+            if (flag){
+                sureList.add(erpCredit);
+            }
+        }
+        return sureList;
+    }
+}

+ 19 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/Result.java

@@ -14,6 +14,25 @@ public class Result {
     private String msg = "操作成功";// 提示信息
     private String msg = "操作成功";// 提示信息
     private String list= "";
     private String list= "";
     private boolean flag = false;
     private boolean flag = false;
+    private boolean noStatus = false;
+    private boolean yesStatus =false;
+
+    public boolean isYesStatus() {
+        return yesStatus;
+    }
+
+    public void setYesStatus(boolean yesStatus) {
+        this.yesStatus = yesStatus;
+    }
+
+    public boolean isNoStatus() {
+        return noStatus;
+    }
+
+    public void setNoStatus(boolean noStatus) {
+        this.noStatus = noStatus;
+    }
+
     private List<ErpJudge> erpList = new ArrayList<>();
     private List<ErpJudge> erpList = new ArrayList<>();
 
 
     public List<ErpJudge> getErpList() {
     public List<ErpJudge> getErpList() {

+ 307 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/ValidationUtils.java

@@ -0,0 +1,307 @@
+package com.jeeplus.modules.sg.financial.erpcredit.util;
+
+import com.jeeplus.modules.sg.audit.information.entity.Information;
+import com.jeeplus.modules.sg.audit.information.utils.RandomUtil;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpCredit;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpJudgeAccount;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpJudgeArtificial;
+import com.jeeplus.modules.sg.financial.erpcredit.entity.ErpJudgeExport;
+import com.jeeplus.modules.sg.financial.expense.entity.Expense;
+import com.jeeplus.modules.sg.financial.settlement.entity.MaintainData;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import io.swagger.models.auth.In;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ValidationUtils {
+
+    //验证概预算信息是否存在
+    public static String getDataMainJudge(List<ErpCredit> erpCredits, List<MaintainData> maintainDatas){
+        List<ErpJudgeAccount> list = new ArrayList<ErpJudgeAccount>();
+        ErpJudgeAccount erpJudgeDataMain = new ErpJudgeAccount();
+        boolean flag = true;
+        for (ErpCredit erpCredit1:erpCredits){
+            flag = true;
+            for (MaintainData maintainData:maintainDatas){
+                if (erpCredit1.getItemId().equals(maintainData.getProjectId())){
+                    flag = false;
+                }
+            }
+            if (flag){
+                erpJudgeDataMain = new ErpJudgeAccount();
+                erpJudgeDataMain.setItemId(erpCredit1.getItemId());
+                erpJudgeDataMain.setItemName(erpCredit1.getItemName());
+                erpJudgeDataMain.setFlagItem("无");
+                erpJudgeDataMain.setItemSupplierName(erpCredit1.getSupplierName());
+                list.add(erpJudgeDataMain);
+            }
+        }
+        if (null!=list && list.size()>0){
+            return getJoiningTogether(list);
+        }
+        return "";
+    }
+
+    //验证费用入账是否存在
+    public static String getExpenseJudge(List<ErpCredit> erpCredits, List<Expense> expenses){
+        List<ErpJudgeAccount> list = new ArrayList<ErpJudgeAccount>();
+        ErpJudgeAccount erpExpense = new ErpJudgeAccount();
+        boolean flag = true;
+        for (ErpCredit erpCredit1:erpCredits){
+            flag = true;
+            for (Expense expense:expenses){
+                if (erpCredit1.getItemId().equals(expense.getProjectId())){
+                    flag = false;
+                }
+            }
+            if (flag){
+                erpExpense = new ErpJudgeAccount();
+                erpExpense.setItemId(erpCredit1.getItemId());
+                erpExpense.setItemName(erpCredit1.getItemName());
+                erpExpense.setFlagItem("无");
+                erpExpense.setItemSupplierName(erpCredit1.getSupplierName());
+                list.add(erpExpense);
+            }
+        }
+        if (null!=list && list.size()>0){
+            return getJoiningTogether(list);
+        }
+        return "";
+    }
+    //验证需求基本信息
+    public static String getProjectJudge(List<ErpCredit> erpCredits, List<Project> projects){
+        List<ErpJudgeAccount> list = new ArrayList<ErpJudgeAccount>();
+        ErpJudgeAccount erpProject = new ErpJudgeAccount();
+        boolean flag = true;
+        for (ErpCredit erpCredit1:erpCredits){
+            flag = true;
+            for (Project project:projects){
+                if (erpCredit1.getItemId().equals(project.getProjectNumber())){
+                    flag = false;
+                }
+            }
+            if (flag){
+                erpProject = new ErpJudgeAccount();
+                erpProject.setItemId(erpCredit1.getItemId());
+                erpProject.setItemName(erpCredit1.getItemName());
+                erpProject.setFlagItem("无");
+                erpProject.setItemSupplierName(erpCredit1.getSupplierName());
+                list.add(erpProject);
+            }
+        }
+        if (null!=list && list.size()>0){
+            return getJoiningTogether(list);
+        }
+        return "";
+    }
+
+    //验证是否甲供材存在
+    public static String getInformationJudge(List<ErpCredit> erpCredits, List<Information> informationList){
+        List<ErpJudgeAccount> list = new ArrayList<ErpJudgeAccount>();
+        ErpJudgeAccount erpProject = new ErpJudgeAccount();
+        boolean flag = true;
+        for (ErpCredit erpCredit1:erpCredits){
+            flag = true;
+            for (Information information:informationList){
+                if (erpCredit1.getItemId().equals(information.getProjectId())){
+                    flag = false;
+                    break;
+                }
+            }
+            if (flag){
+                erpProject = new ErpJudgeAccount();
+                erpProject.setItemId(erpCredit1.getItemId());
+                erpProject.setItemName(erpCredit1.getItemName());
+                erpProject.setFlagItem("无");
+                erpProject.setItemSupplierName(erpCredit1.getSupplierName());
+                list.add(erpProject);
+            }
+        }
+        if (null!=list && list.size()>0){
+            return getJoiningTogether(list);
+        }
+        return "";
+    }
+    //验证是否甲供材存在
+    public static String getInformationJudge1(List<ErpCredit> erpCredits, List<Information> informationList){
+        List<ErpJudgeAccount> list = new ArrayList<ErpJudgeAccount>();
+        ErpJudgeAccount erpProject = new ErpJudgeAccount();
+        for (ErpCredit erpCredit:erpCredits){
+            for (Information information:informationList){
+                if (erpCredit.getItemId().equals(information.getProjectId())){
+                    erpProject = new ErpJudgeAccount();
+                    erpProject.setItemId(erpCredit.getItemId());
+                    erpProject.setItemName(erpCredit.getItemName());
+                    erpProject.setFlagItem("否");
+                    erpProject.setItemSupplierName(erpCredit.getSupplierName());
+                    list.add(erpProject);
+                    break;
+                }
+            }
+        }
+        if (null!=list && list.size()>0){
+            return getJoiningTogether(list);
+        }
+        return "";
+    }
+    //拼接
+    public static String getJoiningTogether(List<ErpJudgeAccount> erpJudgeAccounts){
+        String str = "";
+        for (ErpJudgeAccount erpJudgeAccount:erpJudgeAccounts){
+            str+=erpJudgeAccount.getItemId()+","+erpJudgeAccount.getItemName()+","+erpJudgeAccount.getFlagItem()+","+erpJudgeAccount.getItemSupplierName()+",";
+        }
+        str = str.substring(0,str.length()-1);
+        return str;
+    }
+
+    //若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题
+    public static String getJudgeTwo(List<ErpCredit> listTwo){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        List<ErpJudgeArtificial> erpJudgeArtificials = new ArrayList<ErpJudgeArtificial>();
+        ErpJudgeArtificial erpJudgeArtificial = null;
+        String str = "";
+        for (ErpCredit erpCredit:listTwo){
+            erpJudgeArtificial = new ErpJudgeArtificial();
+            erpJudgeArtificial.setItemId(erpCredit.getItemId());
+            //施工费
+            if (null!=erpCredit.getConstructionStatus()){
+               if (erpCredit.getConstructionStatus().equals("2")){
+                   str+="施工费应付金额为"+decimalFormat.format(erpCredit.getConstructionFeePayable())+
+                           ";实际金额"+decimalFormat.format(erpCredit.getConsTotalFee())+";";
+               }
+            }
+            //设计费
+            if (null!=erpCredit.getDesignStatus()){
+                if (erpCredit.getDesignStatus().equals("2")){
+                    str+="设计费应付金额为"+decimalFormat.format(erpCredit.getDesignFeePayable())+
+                            ";实际金额为"+decimalFormat.format(erpCredit.getOtherDesignFee())+";";
+                }
+            }
+            //监理费
+            if (null!=erpCredit.getSupervisorStatus()){
+               if (erpCredit.getSupervisorStatus().equals("2")){
+                   str+="监理费应付金额为"+decimalFormat.format(erpCredit.getSupervisorFeePayable())+
+                           ";实际金额为"+decimalFormat.format(erpCredit.getOtherSupervisorFee())+";";
+               }
+            }
+            erpJudgeArtificial.setNotTheSame(str);
+            erpJudgeArtificials.add(erpJudgeArtificial);
+            str = "";
+        }
+        String string = "";
+        for (ErpJudgeArtificial erpJudgeArtificial1:erpJudgeArtificials){
+            string+=erpJudgeArtificial1.getItemId()+","+erpJudgeArtificial1.getNotTheSame()+",";
+        }
+        if (!"".equals(string)){
+            string = string.substring(0,string.length()-1);
+            return string;
+        }
+        return "";
+    }
+    //若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题。
+    public static String getJudgeThree(List<ErpCredit> listThree){
+        DecimalFormat decimalFormat   = new DecimalFormat("#0.00");
+        List<ErpJudgeExport> erpJudgeExports = new ArrayList<ErpJudgeExport>();
+        ErpJudgeExport erpJudgeExport = null;
+        for (ErpCredit erpCredit:listThree){
+            erpJudgeExport = new ErpJudgeExport();
+            erpJudgeExport.setItemId(erpCredit.getItemId());
+            erpJudgeExport.setItemName(erpCredit.getItemName());
+            erpJudgeExport.setConsTotalFee("");
+            erpJudgeExport.setConstructionFeePayable("");
+            erpJudgeExport.setOtherDesignFee("");
+            erpJudgeExport.setDesignFeePayable("");
+            erpJudgeExport.setOtherSupervisorFee("");
+            erpJudgeExport.setSupervisorFeePayable("");
+            //施工费
+            if (null!=erpCredit.getConstructionStatus()){
+                erpJudgeExport.setConsTotalFee(decimalFormat.format(erpCredit.getConsTotalFee()));
+                erpJudgeExport.setConstructionFeePayable(decimalFormat.format(erpCredit.getConstructionFeePayable()));
+            }
+            //设计费
+            if (null!=erpCredit.getDesignStatus()){
+               erpJudgeExport.setOtherDesignFee(decimalFormat.format(erpCredit.getOtherDesignFee()));
+               erpJudgeExport.setDesignFeePayable(decimalFormat.format(erpCredit.getDesignFeePayable()));
+            }
+            //监理费
+            if (null!=erpCredit.getSupervisorStatus()){
+                erpJudgeExport.setOtherSupervisorFee(decimalFormat.format(erpCredit.getOtherSupervisorFee()));
+                erpJudgeExport.setSupervisorFeePayable(decimalFormat.format(erpCredit.getSupervisorFeePayable()));
+            }
+            erpJudgeExports.add(erpJudgeExport);
+        }
+        String str = "";
+        for (ErpJudgeExport erpJudgeExport1:erpJudgeExports){
+            str+=erpJudgeExport1.getItemId()+","+erpJudgeExport1.getItemName()+","
+                    +erpJudgeExport1.getConstructionFeePayable()+","+erpJudgeExport1.getConsTotalFee()+","
+                    +erpJudgeExport1.getDesignFeePayable()+","+erpJudgeExport1.getOtherDesignFee()+","
+                    +erpJudgeExport1.getSupervisorFeePayable()+","+erpJudgeExport1.getOtherSupervisorFee()+",";
+        }
+        str = str.substring(0,str.length()-1);
+        return str;
+    }
+    //导出差异
+    public static List<ErpJudgeExport> getErpJudgeExport(String string){
+        String[] split = string.split(",");
+        List<ErpJudgeExport> erpJudgeExports = new ArrayList<ErpJudgeExport>();
+        ErpJudgeExport erpJudgeExport = null;
+        for (int i = 0; i < split.length; i+=8) {
+            erpJudgeExport = new ErpJudgeExport();
+            erpJudgeExport.setItemId(split[i]);
+            erpJudgeExport.setItemName(split[i+1]);
+            erpJudgeExport.setConstructionFeePayable(split[i+2]);
+            erpJudgeExport.setConsTotalFee(split[i+3]);
+            erpJudgeExport.setDesignFeePayable(split[i+4]);
+            erpJudgeExport.setOtherDesignFee(split[i+5]);
+            erpJudgeExport.setSupervisorFeePayable(split[i+6]);
+            erpJudgeExport.setOtherSupervisorFee(split[i+7]);
+            erpJudgeExports.add(erpJudgeExport);
+        }
+        return erpJudgeExports;
+    }
+    //所有erp信息
+    public static String getAllListErpCredit(List<ErpCredit> erpCredits){
+        String string = "";
+        for (ErpCredit erpCredit:erpCredits){
+            string +=erpCredit.getItemId()+",";
+        }
+        if (!"".equals(string)){
+            string = string.substring(0,string.length()-1);
+        }
+        return string;
+    }
+
+    //验证资本和成本
+    public static String getTheCostOfCapital(List<ErpCredit> erpCredits,List<Project> projects){
+        String type = "";
+        String strFlag1 = "0";
+        String strFlag2 = "0";
+        for (ErpCredit erpCredit:erpCredits){
+            for (Project project:projects){
+                if (erpCredit.getItemId().equals(project.getProjectNumber())){
+                    if (project.getType().equals("配网资本")){
+                        strFlag1 = "1";
+                    }
+                    if (project.getType().equals("配网成本")){
+                        strFlag2 = "1";
+                    }
+                    break;
+                }
+            }
+        }
+        if (strFlag1.equals("1")&&!strFlag2.equals("1")){
+            return "1";//配网资本
+        }
+        if (strFlag2.equals("1")&&!strFlag1.equals("1")){
+            return "0";//配网成本
+        }
+        return "3";
+    }
+}

+ 15 - 0
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/util/text.java

@@ -0,0 +1,15 @@
+package com.jeeplus.modules.sg.financial.erpcredit.util;
+
+import org.junit.Test;
+
+public class text {
+    @Test
+    public void getTest1(){
+        String s = "1702";
+        if (s.length()>=4){
+            String s1 = s.substring(0,4);
+            System.out.println(s1);
+        }
+
+    }
+}

+ 180 - 97
src/main/java/com/jeeplus/modules/sg/financial/erpcredit/web/ErpCreditController.java

@@ -11,24 +11,20 @@ import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.modules.sg.audit.information.entity.Information;
 import com.jeeplus.modules.sg.audit.information.entity.Information;
 import com.jeeplus.modules.sg.audit.information.service.InformationService;
 import com.jeeplus.modules.sg.audit.information.service.InformationService;
+import com.jeeplus.modules.sg.audit.information.utils.RandomUtil;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.*;
 import com.jeeplus.modules.sg.financial.erpcredit.entity.*;
 import com.jeeplus.modules.sg.financial.erpcredit.service.ErpCreditService;
 import com.jeeplus.modules.sg.financial.erpcredit.service.ErpCreditService;
 import com.jeeplus.modules.sg.financial.erpcredit.util.*;
 import com.jeeplus.modules.sg.financial.erpcredit.util.*;
+import com.jeeplus.modules.sg.financial.expense.entity.Expense;
+import com.jeeplus.modules.sg.financial.expense.service.ExpenseService;
 import com.jeeplus.modules.sg.financial.settlement.entity.MaintainData;
 import com.jeeplus.modules.sg.financial.settlement.entity.MaintainData;
 import com.jeeplus.modules.sg.financial.settlement.service.DataMaintenanceService;
 import com.jeeplus.modules.sg.financial.settlement.service.DataMaintenanceService;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
-import com.jeeplus.modules.test.one.dialog.entity.Leave1;
-import groovy.util.IFileNameFinder;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFRow;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.omg.PortableServer.LIFESPAN_POLICY_ID;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.ModelAttribute;
@@ -40,12 +36,8 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSession;
-import javax.validation.ConstraintViolationException;
 import java.io.*;
 import java.io.*;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -60,6 +52,12 @@ public class ErpCreditController extends BaseController {
 	private ErpCreditService erpCreditService;
 	private ErpCreditService erpCreditService;
 	@Autowired
 	@Autowired
 	private DataMaintenanceService dataMaintenanceService;
 	private DataMaintenanceService dataMaintenanceService;
+	@Autowired
+	private ExpenseService expenseService;
+	@Autowired
+	private ProjectService projectService;
+	@Autowired
+	private InformationService informationService;
 
 
 	@ModelAttribute
 	@ModelAttribute
 	public ErpCredit get(@RequestParam(required=false) String id) {
 	public ErpCredit get(@RequestParam(required=false) String id) {
@@ -116,48 +114,37 @@ public class ErpCreditController extends BaseController {
 		提示
 		提示
 	 */
 	 */
 	@RequestMapping(value = "tips")
 	@RequestMapping(value = "tips")
-	public String Tips(String str,Model model, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
-		str = URLDecoder.decode(str,"UTF-8");
-		String[] strings2;
-		List<ErpJudge> erpJudges = new ArrayList<ErpJudge>();
-		ErpJudge erpJudge = null;
-		if (str.contains("-")){
-			String[] strings =  str.split("-");
-			for (String str1 :strings){
-				strings2 = str1.split(",");
-				erpJudge = new ErpJudge();
-				erpJudge.setItemId(strings2[0]);
-				erpJudge.setMainFlag(strings2[1]);
-				erpJudge.setMainStartDate(strings2[2]);
-				erpJudge.setMainEndDate(strings2[3]);
-				erpJudge.setMainApprovalNumber(strings2[4]);
-				erpJudge.setMainDesign(strings2[5]);
-				erpJudge.setMainSupervision(strings2[6]);
-				erpJudge.setMainConstructionUnits(strings2[7]);
-				erpJudge.setMainDesignUnits(strings2[8]);
-				erpJudge.setMainInvestmen(strings2[9]);
-				erpJudge.setInfoFlag(strings2[10]);
-				erpJudges.add(erpJudge);
-			}
-		}else {
-			String[] strings3 = str.split(",");
-			erpJudge = new ErpJudge();
-			erpJudge.setItemId(strings3[0]);
-			erpJudge.setMainFlag(strings3[1]);
-			erpJudge.setMainStartDate(strings3[2]);
-			erpJudge.setMainEndDate(strings3[3]);
-			erpJudge.setMainApprovalNumber(strings3[4]);
-			erpJudge.setMainDesign(strings3[5]);
-			erpJudge.setMainSupervision(strings3[6]);
-			erpJudge.setMainConstructionUnits(strings3[7]);
-			erpJudge.setMainDesignUnits(strings3[8]);
-			erpJudge.setMainInvestmen(strings3[9]);
-			erpJudge.setInfoFlag(strings3[10]);
-			erpJudges.add(erpJudge);
+	public String Tips(Model model, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
+		String ftpErpList = erpCreditService.getFtpErpList(request);
+		String[] split = ftpErpList.split(",");
+		List<ErpJudgeAccount> erpJudgeAccounts = new ArrayList<ErpJudgeAccount>();
+		ErpJudgeAccount erpJudgeAccount = null;
+		for (int i = 0; i < split.length; i+=4) {
+			erpJudgeAccount = new ErpJudgeAccount();
+			erpJudgeAccount.setItemId(split[i]);
+			erpJudgeAccount.setItemName(split[i+1]);
+			erpJudgeAccount.setFlagItem(split[i+2]);
+//			erpJudgeAccount.setItemSupplierName(split[i+3]);
+			erpJudgeAccounts.add(erpJudgeAccount);
 		}
 		}
-		model.addAttribute("erpList",erpJudges);
+		model.addAttribute("erpJudgeAccounts",erpJudgeAccounts);
 		return "modules/sg/financial/erp/erpCreditTips";
 		return "modules/sg/financial/erp/erpCreditTips";
 	}
 	}
+	@RequestMapping(value = "tips1")
+	public String Tips1(Model model, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
+		String ftpErpList = erpCreditService.getFtpErpList(request);
+		String[] split = ftpErpList.split(",");
+		List<ErpJudgeArtificial> erpJudgeArtificials = new ArrayList<ErpJudgeArtificial>();
+		ErpJudgeArtificial erpJudgeArtificial = null;
+		for (int i = 0; i < split.length; i+=2) {
+			erpJudgeArtificial = new ErpJudgeArtificial();
+			erpJudgeArtificial.setItemId(split[i]);
+			erpJudgeArtificial.setNotTheSame(split[i+1]);
+			erpJudgeArtificials.add(erpJudgeArtificial);
+		}
+		model.addAttribute("erpJudgeArtificials",erpJudgeArtificials);
+		return "modules/sg/financial/erp/erpTipsUserJudge";
+	}
 	/**
 	/**
 	 * 保存表单
 	 * 保存表单
 	 */
 	 */
@@ -220,41 +207,63 @@ public class ErpCreditController extends BaseController {
 	}
 	}
 
 
     /**
     /**
-     * 导出excel列表文件
-     */
-    @ResponseBody
+	 * 导出excel列表文件
+	 */
+	@ResponseBody
 	@RequiresPermissions("sg:financial:erpCredit:export")
 	@RequiresPermissions("sg:financial:erpCredit:export")
-    @RequestMapping(value = "exportList")
-    public Result exportFileList(ErpCredit erpCredit,HttpServletRequest request, HttpServletResponse response){
+	@RequestMapping(value = "exportList")
+	public Result exportFileList(ErpCredit erpCredit,HttpServletRequest request, HttpServletResponse response){
 		HttpSession session = request.getSession();
 		HttpSession session = request.getSession();
 		String attribute = (String) session.getAttribute("erpStatus");
 		String attribute = (String) session.getAttribute("erpStatus");
 		erpCredit.setStatus(attribute);
 		erpCredit.setStatus(attribute);
-        Result j = new Result();
-        try {
-            String fileName = "送审决算信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
-            Page<ErpCredit> page = erpCreditService.findPage(new Page<ErpCredit>(request, response, -1), erpCredit);
-            new ExportExcel("送审决算信息", ErpCredit.class).setDataList(page.getList()).write(response, fileName).dispose();
+		Result j = new Result();
+		try {
+			String fileName = "送审决算信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+			Page<ErpCredit> page = erpCreditService.findPage(new Page<ErpCredit>(request, response, -1), erpCredit);
+			new ExportExcel("送审决算信息", ErpCredit.class).setDataList(page.getList()).write(response, fileName).dispose();
+
+			j.setSuccess(true);
+			j.setMsg("导出成功!");
+		}catch (Exception e){
+			j.setSuccess(false);
+			j.setMsg("导出失败!失败信息:"+e.getMessage());
+		}
+		return j;
+	}
+	/**
+	 * 导出excel列表文件
+	 */
+	@ResponseBody
+	@RequestMapping(value = "exportYesStatus")
+	public Result exportYesStatus(ErpCredit erpCredit,HttpServletRequest request, HttpServletResponse response){
+		Result j = new Result();
+		try {
+			String fileName = "费用入账差异信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+			String ftpErpList = erpCreditService.getFtpErpList(request);
+			List<ErpJudgeExport> erpJudgeExport = ValidationUtils.getErpJudgeExport(ftpErpList);
+			new ExportExcel("费用入账差异信息", ErpJudgeExport.class).setDataList(erpJudgeExport).write(response, fileName).dispose();
+			j.setSuccess(true);
+			j.setMsg("导出成功!");
+		}catch (Exception e){
+			j.setSuccess(false);
+			j.setMsg("导出失败!失败信息:"+e.getMessage());
+		}
+		return j;
+	}
 
 
-            j.setSuccess(true);
-            j.setMsg("导出成功!");
-        }catch (Exception e){
-            j.setSuccess(false);
-            j.setMsg("导出失败!失败信息:"+e.getMessage());
-        }
-        return j;
-    }
 	/**
 	/**
 	 * 导出excel文件
 	 * 导出excel文件
 	 */
 	 */
 	@ResponseBody
 	@ResponseBody
 	@RequiresPermissions("sg:financial:erpCredit:export")
 	@RequiresPermissions("sg:financial:erpCredit:export")
 	@RequestMapping(value = "export")
 	@RequestMapping(value = "export")
-	public Result exportFile(String ids,HttpServletRequest request, HttpServletResponse response){
+	public Result exportFile(HttpServletRequest request, HttpServletResponse response){
 		Result j = new Result();
 		Result j = new Result();
 		try {
 		try {
+			String allFtpErpList = erpCreditService.getAllFtpErpList(request);
 			HttpSession session = request.getSession();
 			HttpSession session = request.getSession();
 			String attribute = (String) session.getAttribute("erpStatus");
 			String attribute = (String) session.getAttribute("erpStatus");
-			erpCreditService.getExport(ids,response,attribute);
+			erpCreditService.getExport(allFtpErpList,response,attribute);
 			j.setSuccess(true);
 			j.setSuccess(true);
 			j.setMsg("导出成功!");
 			j.setMsg("导出成功!");
 		}catch (Exception e){
 		}catch (Exception e){
@@ -263,6 +272,8 @@ public class ErpCreditController extends BaseController {
 		}
 		}
 		return j;
 		return j;
 	}
 	}
+
+
 	@ResponseBody
 	@ResponseBody
 	@RequestMapping(value = "detail")
 	@RequestMapping(value = "detail")
 	public ErpCredit detail(String id) {
 	public ErpCredit detail(String id) {
@@ -274,10 +285,10 @@ public class ErpCreditController extends BaseController {
 	@ResponseBody
 	@ResponseBody
 	@RequiresPermissions("sg:financial:erpCredit:import")
 	@RequiresPermissions("sg:financial:erpCredit:import")
 	@RequestMapping(value = "import")
 	@RequestMapping(value = "import")
-	public Result importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request,Model model) throws IOException, InvalidFormatException {
+	public Result importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request,Model model) {
 		Result j = new Result();
 		Result j = new Result();
 		String str = "";
 		String str = "";
-//		try {
+		try {
 			int successNum = 0;
 			int successNum = 0;
 			int failureNum = 0;
 			int failureNum = 0;
 			StringBuilder failureMsg = new StringBuilder();
 			StringBuilder failureMsg = new StringBuilder();
@@ -290,29 +301,85 @@ public class ErpCreditController extends BaseController {
             }
             }
 			List<ErpAccount> erpAccounts = ErpInfo.getErpAccount(importUtil);//获取表格数据
 			List<ErpAccount> erpAccounts = ErpInfo.getErpAccount(importUtil);//获取表格数据
 			List<ErpCredit> erpCredits = ErpInfo.getAllErpCreditList(erpAccounts);//获取单条数据
 			List<ErpCredit> erpCredits = ErpInfo.getAllErpCreditList(erpAccounts);//获取单条数据
-			//验证方法
-			List<ErpJudge> erpJudges  = erpCreditService.getAllCheck(erpCredits);
-			if (null!=erpJudges&&erpJudges.size()>0){
-				String judge = "";
-				for (ErpJudge erpJudge:erpJudges){
-					judge += erpJudge.getItemId()+","+erpJudge.getMainFlag()+","+
-							erpJudge.getMainStartDate()+","+erpJudge.getMainEndDate()+","+
-							erpJudge.getMainApprovalNumber()+","+erpJudge.getMainDesign()+"," +
-							erpJudge.getMainSupervision()+","+erpJudge.getMainConstructionUnits()+","+
-							erpJudge.getMainDesignUnits()+","+erpJudge.getMainInvestmen()+","+erpJudge.getInfoFlag()+"-";
-				}
-				judge = judge.substring(0,judge.length()-1);
-//				j.setErpList(erpJudges);
-				j.setList(judge);
-				j.setFlag(true);
+
+            //需求基本信息验证
+            List<Project> projects = projectService.findList(new Project());
+			String projectJudge = ValidationUtils.getProjectJudge(erpCredits, projects);
+            if (!"".equals(projectJudge)){
+                erpCreditService.getFtpList(request,projectJudge);
+                j.setSuccess(false);
+                j.setFlag(true);
+                j.setMsg("无需求基本信息数据");
+                return j;
+            }
+            //项目资本和成本验证
+			String theCostOfCapital = ValidationUtils.getTheCostOfCapital(erpCredits, projects);
+			if (theCostOfCapital.equals("3")){
 				j.setSuccess(false);
 				j.setSuccess(false);
+				j.setMsg("导入失败,项目不能同时存在资本和成本!");
 				return j;
 				return j;
 			}
 			}
-			for (ErpCredit erpCredit:erpCredits){
-				str+=erpCredit.getItemId()+",";
+			//验证概预算信息方法
+			List<MaintainData> maintainDatas = dataMaintenanceService.getJudge();//所有概预算信息
+			String dataMainJudge = ValidationUtils.getDataMainJudge(erpCredits, maintainDatas);
+            if (!"".equals(dataMainJudge)){
+                erpCreditService.getFtpList(request,dataMainJudge);
+                j.setSuccess(false);
+                j.setFlag(true);
+                j.setMsg("概预算信息没有项目数据");
+                return j;
+            }
+			//查询费用入账所有信息
+			List<Expense> expenses = expenseService.findList(new Expense());
+			String expenseJudge = ValidationUtils.getExpenseJudge(erpCredits, expenses);
+            if (!"".equals(expenseJudge)){
+                erpCreditService.getFtpList(request,expenseJudge);
+                j.setSuccess(false);
+                j.setFlag(true);
+                j.setMsg("费用入账没有项目信息数据");
+                return j;
+            }
+			//验证甲供材
+			List<Information> informationList = informationService.findList(new Information());
+			String informationJudge = ValidationUtils.getInformationJudge(erpCredits, informationList);
+            if (!"".equals(informationJudge)){
+                erpCreditService.getFtpList(request,informationJudge);
+                j.setSuccess(false);
+                j.setFlag(true);
+                j.setMsg("甲供物资核实没有项目信息数据");
+                return j;
+            }
+			List<Information> infoFlag = erpCreditService.getInfoFlag(erpCredits);
+			String informationJudge1 = ValidationUtils.getInformationJudge1(erpCredits, infoFlag);
+            if (!"".equals(informationJudge1)){
+                erpCreditService.getFtpList(request,informationJudge1);
+                j.setSuccess(false);
+                j.setFlag(true);
+                j.setMsg("甲供物资核实没有完成施工项目");
+                return j;
+            }
+			//整合 验证费用入账模块
+			List<Expense> expenseList = CostAccountUnits.getQCExpense(erpCredits,expenses);//库存信息区分2020年前和年后
+			//得到验证数据
+			Map<String, List<ErpCredit>> judgeEnterAccount = CostAccountUnits.getJudgeEnterAccount(erpCredits, expenseList, informationList, maintainDatas);
+//			//若应付金额(不含税价)<实付金额(不含税价),需要导出差异情况,同时费用入账核实存在问题。
+			List<ErpCredit> listThree = judgeEnterAccount.get("judgeEnterAccountThree");
+			String judgeThree = ValidationUtils.getJudgeThree(listThree);
+			if (!"".equals(listThree)){
+				erpCreditService.getFtpList(request,judgeThree);
+				j.setSuccess(false);
+				j.setYesStatus(true);
+				j.setMsg("导入失败:费用入账存在差异信息,正在导出差异信息");
+				return j;
+			}
+			Object allErpPath = request.getSession().getAttribute("AllErpPath");
+			if (allErpPath != null && allErpPath != "") {
+				RandomUtil.delete(allErpPath.toString());
+				request.getSession().removeAttribute("AllErpPath");
 			}
 			}
-			str = str.substring(0,str.length()-1);
-			String random = random = ErpInfo.getStatus();//保存session
+			String allListErpCredit = ValidationUtils.getAllListErpCredit(erpCredits);
+			erpCreditService.getAllFtpList(request,allListErpCredit);
+			String random  = ErpInfo.getStatus();//保存session
 			request.getSession().setAttribute("erpStatus",random);;
 			request.getSession().setAttribute("erpStatus",random);;
 			for (ErpCredit erpCredit : erpCredits){
 			for (ErpCredit erpCredit : erpCredits){
 				try{
 				try{
@@ -322,15 +389,31 @@ public class ErpCreditController extends BaseController {
 					failureNum++;
 					failureNum++;
 				}
 				}
 			}
 			}
+			//若应付金额(不含税价)>实付金额(不含税价),需要进入人工判断,若人工判断通过,则费用入账核实无问题,若人工判断不通过则费用入账核实存在问题
+			List<ErpCredit> listTwo = judgeEnterAccount.get("judgeEnterAccountTwo");
+			String judgeTwo = ValidationUtils.getJudgeTwo(listTwo);
+			if (!"".equals(judgeTwo)){
+				erpCreditService.getFtpList(request,judgeTwo);
+				j.setSuccess(false);
+				j.setFlag(false);
+				j.setNoStatus(true);
+				j.setMsg("部分数据(应付金额>实付金额),请人工判断");
+				return j;
+			}
+			//允许项目关闭
+			if (theCostOfCapital.equals("0")){
+				j.setSuccess(true);
+				j.setMsg("导入成功:允许项目关闭");
+				return j;
+			}
 			if (failureNum>0){
 			if (failureNum>0){
 				failureMsg.insert(0, ",失败 "+failureNum+" 条送审决算记录。");
 				failureMsg.insert(0, ",失败 "+failureNum+" 条送审决算记录。");
 			}
 			}
 			j.setMsg( "已成功导入 "+successNum+" 条送审决算记录"+failureMsg);
 			j.setMsg( "已成功导入 "+successNum+" 条送审决算记录"+failureMsg);
-			j.setList(str);
-//		} catch (Exception e) {
-//			j.setSuccess(false);
-//			j.setMsg("导入送审决算失败!失败信息:"+e.getMessage());
-//		}
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导入送审决算失败!失败信息:"+e.getMessage());
+		}
 		return j;
 		return j;
 	}
 	}
 }
 }

+ 26 - 25
src/main/webapp/webpage/modules/sg/financial/erp/erpCreditList.js

@@ -298,32 +298,33 @@ $(document).ready(function() {
 			    btn1: function(index, layero){
 			    btn1: function(index, layero){
 						var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
 						var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
 						iframeWin.contentWindow.importExcel('${ctx}/sg/financial/erpCredit/import', function (data) {
 						iframeWin.contentWindow.importExcel('${ctx}/sg/financial/erpCredit/import', function (data) {
-							if(data.success){
-								jp.success(data.msg);
-								// jp.success(data.strings);
-								str = data.list;
-                                jp.downloadFile('${ctx}/sg/financial/erpCredit/export?ids='+ data.list);
-								refresh();
-							}else if (data.flag) {
+                            if (data.success) {
+                                jp.success(data.msg);
+                                jp.downloadFile('${ctx}/sg/financial/erpCredit/export');
+                                refresh();
+                            } else if (data.flag) {
                                 jp.error("导入失败");
                                 jp.error("导入失败");
-                                // alert(data.erpList.);
-								// var arrayList = [];
-                                // for (var i = 0; i < data.erpList.length; i++) {
-								// 	arrayList.push(encodeURI(data.erpList[i].itemId));
-								// 	arrayList.push(data.erpList[i].mainFlag);
-								// 	arrayList.push(encodeURI(data.erpList[i].mainStartDate));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainEndDate));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainApprovalNumber));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainDesign));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainSupervision));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainConstructionUnits));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainDesignUnits));
-                                //     arrayList.push(encodeURI(data.erpList[i].mainInvestmen));
-                                //     arrayList.push(encodeURI(data.erpList[i].infoFlag));
-                                // }
-                                var str1 =encodeURI(encodeURI(data.list));
-                                jp.openViewDialog('不符合导出条件项目', "${ctx}/sg/financial/erpCredit/tips?str="+str1,'800px', '500px');
-							}else {
+                                jp.openViewDialog(data.msg, "${ctx}/sg/financial/erpCredit/tips", '800px', '500px');
+                            } else if (data.noStatus) {
+                                jp.error("导入失败");
+                                top.layer.open({
+                                    type: 2,
+                                    area: ['800px', '500px'],
+                                    title: data.msg,
+                                    maxmin: true, //开启最大化最小化按钮
+                                    content: '${ctx}/sg/financial/erpCredit/tips1' ,
+                                    btn: ['继续操作', '停止操作'],
+                                    yes: function(index1, layero){
+                                        jp.downloadFile('${ctx}/sg/financial/erpCredit/export');
+                                        jp.close(index1);
+                                    },
+                                    cancel: function(index){
+                                    }
+                                });
+                            }else if (data.yesStatus){
+                                jp.error(data.msg);
+                                jp.downloadFile('${ctx}/sg/financial/erpCredit/exportYesStatus');
+                        	}else {
                                 jp.error(data.msg);
                                 jp.error(data.msg);
 							}
 							}
                             jp.close(index);
                             jp.close(index);

+ 7 - 21
src/main/webapp/webpage/modules/sg/financial/erp/erpCreditTips.jsp

@@ -10,32 +10,18 @@
 	<thead>
 	<thead>
 	<tr>
 	<tr>
 		<th>项目定义编号</th>
 		<th>项目定义编号</th>
-		<th>有无维护数据</th>
-		<th>有无开工时间</th>
-		<th>有无结束时间</th>
-		<th>有无批准文号</th>
-		<th>有无设计费</th>
-		<th>有无监理费</th>
-		<th>有无施工单位</th>
-		<th>有无设计单位</th>
-		<th>有无发文总投资</th>
-		<th>物料是否完成</th>
+		<th>项目名称</th>
+		<th>有无该数据</th>
+		<%--<th>供应商名称</th>--%>
 	</tr>
 	</tr>
 	</thead>
 	</thead>
 	<tbody>
 	<tbody>
-		<c:forEach var="erp" items="${erpList}">
+		<c:forEach var="erp" items="${erpJudgeAccounts}">
 			<tr>
 			<tr>
 				<td>${erp.itemId}</td>
 				<td>${erp.itemId}</td>
-				<td>${erp.mainFlag}</td>
-				<td>${erp.mainStartDate}</td>
-				<td>${erp.mainEndDate}</td>
-				<td>${erp.mainApprovalNumber}</td>
-				<td>${erp.mainDesign}</td>
-				<td>${erp.mainSupervision}</td>
-				<td>${erp.mainConstructionUnits}</td>
-				<td>${erp.mainDesignUnits}</td>
-				<td>${erp.mainInvestmen}</td>
-				<td>${erp.infoFlag}</td>
+				<td>${erp.itemName}</td>
+				<td>${erp.flagItem}</td>
+				<%--<td>${erp.itemSupplierName}</td>--%>
 			</tr>
 			</tr>
 		</c:forEach>
 		</c:forEach>
 	</tbody>
 	</tbody>

+ 27 - 0
src/main/webapp/webpage/modules/sg/financial/erp/erpTipsUserJudge.jsp

@@ -0,0 +1,27 @@
+<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title></title>
+	<meta name="decorator" content="ani"/>
+</head>
+<body class="bg-white">
+<table class="ani table">
+	<thead>
+	<tr>
+		<th>项目定义编号</th>
+		<th>人工判断数据</th>
+	</tr>
+	</thead>
+	<tbody>
+		<c:forEach var="erp" items="${erpJudgeArtificials}">
+			<tr>
+				<td>${erp.itemId}</td>
+				<td>${erp.notTheSame}</td>
+				<%--<td>${erp.itemSupplierName}</td>--%>
+			</tr>
+		</c:forEach>
+	</tbody>
+</table>
+</body>
+</html>