Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

user5 3 gadi atpakaļ
vecāks
revīzija
a45fab43ae

+ 2 - 1
src/main/java/com/jeeplus/modules/sg/budgetSpectaculars/service/ProjectBasicsService.java

@@ -521,6 +521,7 @@ public class ProjectBasicsService extends CrudService<ProjectBasicsMapper, Proje
             String definitionNumber = detail.getProjectDefinitionNumber(); //项目定义编码
             String courseName = detail.getCourseName();//科目名称
             String wbsDesc = detail.getWbsDescription();//wbs描述
+            String costBreakDownName = detail.getCostBreakdownName();//费用明细
             String materialDesc = detail.getMaterialDescription();//物料描述
             String postingDate = detail.getPostingDate();//过账日期
             String suppliName = detail.getSupplierName();//供应商
@@ -550,7 +551,7 @@ public class ProjectBasicsService extends CrudService<ProjectBasicsMapper, Proje
                     if(("生产成本-外包材料费".equals(courseName)|| "生产成本-外包检修费".equals(courseName)
                             || "生产成本-自营材料费".equals(courseName)|| "项目建设成本-成本".equals(courseName))
                             && StringUtils.isBlank(materialDesc)
-                            && ("安装工程支出".equals(wbsDesc) || "建筑工程支出".equals(wbsDesc)||"安装工程".equals(wbsDesc)||"建筑工程".equals(wbsDesc))
+                            && ("安装工程支出".equals(costBreakDownName) || "建筑工程支出".equals(costBreakDownName)||"安装工程".equals(costBreakDownName)||"建筑工程".equals(costBreakDownName))
                             &&StringUtils.isNotBlank(postingDate)){
                         if(basicsInfo == null){
                             basicsInfo = new ProjectBasicsInfo();

+ 32 - 1
src/main/java/com/jeeplus/modules/sg/financial/settlement/service/DonorMaterialService.java

@@ -32,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -56,6 +57,8 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
 
     public static Map<String, CellStyle> styles;
 
+    private static DecimalFormat DF = new DecimalFormat("0");
+
     @Override
     public DonorMaterial get(String id) {
         return super.get(id);
@@ -175,7 +178,7 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
 //                    cell.setCellType(1);
 //                }
 //                String cellTwo = cell.getStringCellValue();
-                String cellTwo = this.getCellValue(cell);
+                String cellTwo = this.getStringCellValue(cell);
                 if (null!=cellTwo  && !"".equals(cellTwo) && !"无".equals(cellTwo)  && !"0".equals(cellTwo)) {
                     donorMaterial.setProjectName(projectName);
                     donorMaterial.setProjectId(projectId);
@@ -287,6 +290,34 @@ public class DonorMaterialService extends CrudService<DonorMaterialMapper, Donor
         return value;
     }
 
+    //处理编号数据被当成数字最终展示成科学计数法
+    public String getStringCellValue(Cell cell){
+        String value = null;
+        if (cell != null) {
+            switch (cell.getCellType()) {
+                case Cell.CELL_TYPE_FORMULA:
+                    // cell.getCellFormula();
+                    try {
+                        value = String.valueOf(cell.getStringCellValue());
+                    } catch (IllegalStateException e) {
+                        cell.setCellType(Cell.CELL_TYPE_STRING);
+                        value = String.valueOf(cell.getStringCellValue());
+                    } catch (NullPointerException e) {
+                        value = "";
+                    }
+                    break;
+                case Cell.CELL_TYPE_NUMERIC:
+                    value = DF.format(cell.getNumericCellValue());
+//                    value = String.valueOf(cell.getNumericCellValue());
+                    break;
+                case Cell.CELL_TYPE_STRING:
+                    value = String.valueOf(cell.getRichStringCellValue());
+                    break;
+            }
+        }
+        return value;
+    }
+
     public boolean isNumeric(String str) {
         Pattern pattern = Pattern.compile("[0-9]*");
         Matcher isNum = pattern.matcher(str);