蔡德晨 5 лет назад
Родитель
Сommit
cd93bde1fd

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/overheadline/entity/JkxlDetailFee.java

@@ -64,7 +64,7 @@ public class JkxlDetailFee {
 
 
     public String getFeeType() {
-        return feeType;
+        return feeType != null?feeType:"3";
     }
 
     public void setFeeType(String feeType) {

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/OverheadLineMapper.xml

@@ -69,6 +69,7 @@
          a.subject_allocate as subjectAllocate,
          a.mount_matter as mountMatter,
          a.mount_server as mountServer,
+		 a.fee_type as feeType,
          b.original_total_cost as originalTotalCost,
 		b.original_rg_cost as originalRgCost,
 		b.original_cbr_cost as originalCbrCost,

+ 5 - 5
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -54,7 +54,7 @@ public List<JkxlDetailFee> findList(String id,String type){
         if(jkxlDetailFee.getWbsCode().substring(0,2).equals("23") || jkxlDetailFee.getWbsCode().substring(0,3).equals("493") || jkxlDetailFee.getWbsCode().substring(0,2).equals("39")){
             jkxlDetailFee.setAzFee(totalFee);
         }
-        if(jkxlDetailFee.getOriginalTotalCost() == null){
+        if(jkxlDetailFee.getTotalFee() != null && jkxlDetailFee.getFeeType().equals("0")){
             double qtFee = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
             jkxlDetailFee.setQtFee(qtFee);
         }
@@ -76,7 +76,7 @@ public List<JkxlDetailFee> findList(String id,String type){
                 az1 = jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
                 az2 = jkxlDetailFee.getAzFee()!=null? jkxlDetailFee.getAzFee():0.00;
             }
-            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+            if (jkxlDetailFee.getFeeType().equals("0")&& jkxlDetailFee.getTotalFee() != null) {
                 qtTotal += jkxlDetailFee.getTotalFee();
             }
         }
@@ -111,7 +111,7 @@ public List<JkxlDetailFee> findList(String id,String type){
                 az1 += jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
                 az2 += jkxlDetailFee.getAzFee()!=null? jkxlDetailFee.getAzFee():0.00;
             }
-            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+            if (jkxlDetailFee.getFeeType().equals("0")&& jkxlDetailFee.getTotalFee() != null) {
                 qtTotal += jkxlDetailFee.getTotalFee();
             }
         }
@@ -152,11 +152,11 @@ public List<JkxlDetailFee> findList(String id,String type){
     if(type.equals(BashInfo.PROJECT_JKXL)) {
         for (JkxlDetailFee jkxlDetailFee : list) {
             //本体费用求和
-            if (jkxlDetailFee.getOriginalTotalCost() != null) {
+            if (jkxlDetailFee.getFeeType().equals("1")&& jkxlDetailFee.getTotalFee() != null) {
                 az1 += jkxlDetailFee.getTotalFee();
             }
             //其他费用求和
-            if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
+            if (jkxlDetailFee.getFeeType().equals("0")&& jkxlDetailFee.getTotalFee() != null) {
                 qtTotal += jkxlDetailFee.getTotalFee();
             }
         }

+ 6 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -15,6 +15,10 @@ public class BashInfo {
     public static final String PROJECT_DLXL = "2"; //电缆线路项目类型编号
     public static final String PROJECT_BDZ = "3"; //变电站项目类型编号
 
+    public static final String BZDWBS = "20000000";
+    public static final String JKXLWBS = "30000000";
+    public static final String DLWBS = "40000000";
+
     public static final String PROJECTNAME = "架空线路";
     public static final String SHEET_FBFXJJ = "分部分项工程量清单计价表";
     public static final String SHEET_HZB = "工程项目竣工结算汇总表";
@@ -156,6 +160,7 @@ public class BashInfo {
 
     //架空线路主体模块WBSID
     public static final String[] WBSIDS = {"39100000","39200000","39300000","39400000","39500000","39600000"};
+    public static final String[] WBSOTHIDS = {"34120000","34220000"};
 
     public static final String[] HZ_ALL = {HZ_JCGC,HZ_GTGC,HZ_JDGC,HZ_JXGC,HZ_FJAZGC,HZ_FZ};
     public static final String[] MX_ALL ={JCGC,GTGC,JDGC,JXGC,FJAZGC,FZGC};
@@ -164,6 +169,7 @@ public class BashInfo {
     //电缆项目
     public static final String[] JZWBSIDS = {"49110000","49120000","49130000"};
     public static final String[] AZWBSIDS = {"49310000","49320000","49330000","49340000","49350000","49360000"};
+    public static final String[] DLOTHIDS = {"44120000","44220000"};
     public static final String[] HZ_JZ = {HZ_TSF,HZ_GZW,HZ_FZGC};
     public static final String[] HZ_AZ = {HZ_DLQ,HZ_DLFS,HZ_DLFJ,HZ_DLFH,HZ_TSJSY,HZ_DLJC};
     public static final String[] MX_JZ = {MX_TSF,MX_GZW,MX_FZGC};

+ 20 - 20
src/main/java/com/jeeplus/modules/sg/overheadline/web/OverheadLineController.java

@@ -696,10 +696,10 @@ public class OverheadLineController extends BaseController {
    *导出
    */
   @RequestMapping("/export")
-  public String export(HttpServletRequest request, HttpServletResponse response,Model model,RedirectAttributes redirectAttributes) {
+  public String export(HttpServletRequest request, HttpServletResponse response,Model model,RedirectAttributes redirectAttributes) throws IOException {
     String id = request.getParameter("id");
     String type = request.getParameter("type");
-    try{
+//    try{
       WbsItem wbsItem = itemService.get(id);
       String file = wbsItem.getItemName();
       String fileName = file+ DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
@@ -709,10 +709,10 @@ public class OverheadLineController extends BaseController {
       }
       //导出
       new ExportExcel(null, JkxlDetailFee.class).setDataList(list).write(response, fileName).dispose();
-      return null;
-    }catch (Exception e){
-      addMessage(redirectAttributes, "导出失败");
-    }
+//      return null;
+//    }catch (Exception e){
+//      addMessage(redirectAttributes, "导出失败");
+//    }
      addMessage(redirectAttributes, "导出成功");
     return "redirect:/a/jkxl/list?id="+id+"&type="+type;
   }
@@ -729,13 +729,13 @@ public class OverheadLineController extends BaseController {
     List<JkxlDetailFee> list2  = new ArrayList<>();
     //获取主体部分list集合
     for(JkxlDetailFee jkxlDetailFee : list){
-      if(jkxlDetailFee.getOriginalTotalCost() != null){
+      if(jkxlDetailFee.getTotalFee() != null && jkxlDetailFee.getFeeType().equals("1")){
         list1.add(jkxlDetailFee);
       }
     }
     //获取其他费用list集合
     for(JkxlDetailFee jkxlDetailFee : list){
-      if(jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null){
+      if(jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null && jkxlDetailFee.getFeeType().equals("0")){
         list2.add(jkxlDetailFee);
       }
     }
@@ -818,20 +818,20 @@ public class OverheadLineController extends BaseController {
     }
     double [] zFee = new double[14];
     for(JkxlDetailFee jkxlDetailFee :list1){
-      zFee[0] += jkxlDetailFee.getOriginalTotalCost();
-      zFee[1] += jkxlDetailFee.getZjgcFee();
-      zFee[2] += jkxlDetailFee.getOriginalRgCost();
-      zFee[3] += jkxlDetailFee.getOriginalCbrCost();
-      zFee[4] += jkxlDetailFee.getOriginalFbrCost();
-      zFee[5] += jkxlDetailFee.getOriginalJxCost();
-      zFee[6] += jkxlDetailFee.getMeasuresFee1();
-      zFee[7] += jkxlDetailFee.getMeasuresFee2();
+      zFee[0] += jkxlDetailFee.getOriginalTotalCost()!=null? jkxlDetailFee.getOriginalTotalCost():0.00;
+      zFee[1] += jkxlDetailFee.getZjgcFee()!=null? jkxlDetailFee.getZjgcFee():0.00;
+      zFee[2] += jkxlDetailFee.getOriginalRgCost()!=null? jkxlDetailFee.getOriginalRgCost():0.00;
+      zFee[3] += jkxlDetailFee.getOriginalCbrCost()!=null? jkxlDetailFee.getOriginalCbrCost():0.00;
+      zFee[4] += jkxlDetailFee.getOriginalFbrCost()!=null? jkxlDetailFee.getOriginalFbrCost():0.00;
+      zFee[5] += jkxlDetailFee.getOriginalJxCost()!=null? jkxlDetailFee.getOriginalJxCost():0.00;
+      zFee[6] += jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
+      zFee[7] += jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
       zFee[8] += jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
-      zFee[9] += jkxlDetailFee.getOtherCost();
-      zFee[10] += jkxlDetailFee.getFees();
-      zFee[11] += jkxlDetailFee.getTex();
+      zFee[9] += jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
+      zFee[10] += jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
+      zFee[11] += jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
       zFee[12] += jkxlDetailFee.getRgFtFee()!=null? jkxlDetailFee.getRgFtFee():0.00;
-      zFee[13] += jkxlDetailFee.getTotalFee();
+      zFee[13] += jkxlDetailFee.getTotalFee()!=null? jkxlDetailFee.getTotalFee():0.00;
     }
     JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
     JkxlDetailFee jkxlDetailFee1 = new JkxlDetailFee();

+ 120 - 0
src/main/java/com/jeeplus/modules/sg/project/service/ProjectService.java

@@ -3,9 +3,12 @@ package com.jeeplus.modules.sg.project.service;
 import com.jeeplus.common.json.AjaxJson;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.common.utils.sg.ExcelUtil;
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
 import com.jeeplus.modules.sg.overheadline.entity.Settlement;
+import com.jeeplus.modules.sg.overheadline.mapper.OverheadLineMapper;
 import com.jeeplus.modules.sg.overheadline.service.FeeAdjustService;
 import com.jeeplus.modules.sg.overheadline.service.OverheadLineService;
 import com.jeeplus.modules.sg.overheadline.service.SettlementService;
@@ -44,6 +47,8 @@ public class ProjectService extends CrudService<ProjectMapper, WbsProject> {
     private SettlementService settlementService;
     @Autowired
     private FeeAdjustService feeAdjustService;
+    @Autowired
+    private OverheadLineMapper overheadLineMapper;
 
 
     public WbsProject get(String id) {
@@ -80,10 +85,125 @@ public class ProjectService extends CrudService<ProjectMapper, WbsProject> {
             substationService.save(file,wbsItem);
             return BashInfo.PROJECT_BDZ;
         }
+        //WBS类型判断
+        ImportExcel importExcel = new ImportExcel(file,1,0);
+        double bdzJzTotal = ExcelUtil.getDouble(importExcel,BashInfo.BZDWBS,1,4);
+        double bdzAzTotal = ExcelUtil.getDouble(importExcel,BashInfo.BZDWBS,1,7);
+        double dlJzTotal = ExcelUtil.getDouble(importExcel,BashInfo.DLWBS,1,4);
+        double dlAzTotal = ExcelUtil.getDouble(importExcel,BashInfo.DLWBS,1,7);
+        double jkxlTotal = ExcelUtil.getDouble(importExcel,BashInfo.JKXLWBS,1,7);
+        if(bdzAzTotal != 0.00 || bdzJzTotal != 0.00){
+            String id = wbsItem.getId();
+            WbsItem wbsItem1 = itemService.get(id);
+            if(wbsItem1 == null){
+                wbsItem.setType(BashInfo.PROJECT_BDZ);
+                wbsItem.setDelFlag("0");
+                //保存项目
+                itemService.save(wbsItem);
+            }
+            double[] totalJzFees = ExcelUtil.getDoubleArray(importExcel,SubstationInfo.BDZJZWBS,1,4);
+            double[] totalAzFees = ExcelUtil.getDoubleArray(importExcel,SubstationInfo.BDZAZWBS,1,7);
+            double[] otherFees = ExcelUtil.getDoubleArray(importExcel,SubstationInfo.BDZOTHWBS,1,9);
+            List<JkxlDetailFee> list = new ArrayList<>();
+            JkxlDetailFee jkxlDetailFee = null;
+            for(int i=0;i<totalJzFees.length;i++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(SubstationInfo.BDZJZWBS[i]);
+                jkxlDetailFee.setTotalFee(totalJzFees[i]);
+                list.add(jkxlDetailFee);
+            }
+            for(int i=0;i<totalAzFees.length;i++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(SubstationInfo.BDZAZWBS[i]);
+                jkxlDetailFee.setTotalFee(totalAzFees[i]);
+                list.add(jkxlDetailFee);
+            }
+            for(int j=0;j<otherFees.length;j++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(SubstationInfo.BDZOTHWBS[j]);
+                jkxlDetailFee.setTotalFee(otherFees[j]);
+                list.add(jkxlDetailFee);
+            }
+            overheadLineMapper.saveList(list);
+            return BashInfo.PROJECT_BDZ;
+        }
+        if(dlJzTotal != 0.00 || dlAzTotal != 0.00){
+            String id = wbsItem.getId();
+            WbsItem wbsItem1 = itemService.get(id);
+            if(wbsItem1 == null){
+                wbsItem.setType(BashInfo.PROJECT_DLXL);
+                wbsItem.setDelFlag("0");
+                //保存项目
+                itemService.save(wbsItem);
+            }
+            double[] totalJzFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.JZWBSIDS,1,4);
+            double[] totalAzFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.AZWBSIDS,1,7);
+            double[] otherFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.DLOTHIDS,1,9);
+            List<JkxlDetailFee> list = new ArrayList<>();
+            JkxlDetailFee jkxlDetailFee = null;
+            for(int i=0;i<totalJzFees.length;i++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS[i]);
+                jkxlDetailFee.setTotalFee(totalJzFees[i]);
+                list.add(jkxlDetailFee);
+            }
+            for(int i=0;i<totalAzFees.length;i++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
+                jkxlDetailFee.setTotalFee(totalAzFees[i]);
+                list.add(jkxlDetailFee);
+            }
+            for(int j=0;j<otherFees.length;j++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(BashInfo.DLOTHIDS[j]);
+                jkxlDetailFee.setTotalFee(otherFees[j]);
+                list.add(jkxlDetailFee);
+            }
+            overheadLineMapper.saveList(list);
+            return BashInfo.PROJECT_DLXL;
+        }
+        if(jkxlTotal != 0.00){
+            String id = wbsItem.getId();
+            WbsItem wbsItem1 = itemService.get(id);
+            if(wbsItem1 == null){
+                wbsItem.setType(BashInfo.PROJECT_JKXL);
+                wbsItem.setDelFlag("0");
+                //保存项目
+                itemService.save(wbsItem);
+            }
+            double[] totalFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.WBSIDS,1,7);
+            double[] otherFees = ExcelUtil.getDoubleArray(importExcel,BashInfo.WBSOTHIDS,1,9);
+            List<JkxlDetailFee> list = new ArrayList<>();
+            JkxlDetailFee jkxlDetailFee = null;
+            for(int i=0;i<totalFees.length;i++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(BashInfo.WBSIDS[i]);
+                jkxlDetailFee.setTotalFee(totalFees[i]);
+                list.add(jkxlDetailFee);
+            }
+            for(int j=0;j<otherFees.length;j++){
+                jkxlDetailFee = new JkxlDetailFee();
+                jkxlDetailFee.setId(id);
+                jkxlDetailFee.setWbsCode(BashInfo.WBSOTHIDS[j]);
+                jkxlDetailFee.setTotalFee(otherFees[j]);
+                list.add(jkxlDetailFee);
+            }
+            overheadLineMapper.saveList(list);
+            return BashInfo.PROJECT_JKXL;
+        }
+
         return BashInfo.INVALIDFORMAT;
     }
 
 
+
     public List<WbsProject> findList(WbsProject wbsProject) {
         List<WbsProject> list =  projectMapper.findList(wbsProject);
             for(WbsProject wbsProject1 : list){

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/project/web/ProjectController.java

@@ -136,6 +136,8 @@ public class ProjectController extends BaseController {
         }
     }
 
+
+
     //导出
     @RequestMapping("/export")
     public String toList(HttpServletRequest request,Model model,HttpServletResponse response) throws IOException {

+ 176 - 0
src/main/java/com/jeeplus/modules/sg/substation/util/SubstationInfo.java

@@ -350,6 +350,182 @@ public class SubstationInfo {
     public static String[] ZWTXWBS = {"23320000","23321000"};
     public static String[] ZWTXSTR = {AZMX_ZWTX,AZMX_ZWTXXL};
 
+    //建筑WBS
+    public static String[] BDZJZWBS = {"21000000",
+            "21100000",
+            "21110000",
+            "21111000",
+            "21112000",
+            "21113000",
+            "21114000",
+            "21115000",
+            "21116000",
+            "21117000",
+            "21118000",
+            "21119000",
+            "2111A000",
+            "2111B000",
+            "2111C000",
+            "2111D000",
+            "2111F000",
+            "2111G000",
+            "2111H000",
+            "2111J000",
+            "2111K000",
+            "2111L000",
+            "2111M000",
+            "2111N000",
+            "2111P000",
+            "2111Q000",
+            "2111R000",
+            "21120000",
+            "21121000",
+            "21121100",
+            "21121200",
+            "21121300",
+            "21121400",
+            "21121500",
+            "21122000",
+            "21122100",
+            "21122200",
+            "21123000",
+            "21123100",
+            "21123200",
+            "21124000",
+            "21124100",
+            "21124200",
+            "21125000",
+            "21125100",
+            "21125200",
+            "21126000",
+            "21126100",
+            "21126200",
+            "21127000",
+            "21127100",
+            "21127200",
+            "21128000",
+            "21128100",
+            "21128200",
+            "21129000",
+            "21129100",
+            "21129200",
+            "2112A000",
+            "2112A100",
+            "2112A200",
+            "2112B000",
+            "2112B100",
+            "2112B200",
+            "2112B300",
+            "2112B400",
+            "2112B500",
+            "2112C000",
+            "2112C100",
+            "2112C200",
+            "2112C300",
+            "2112C400",
+            "2112D000",
+            "2112F000",
+            "2112G000",
+            "2112G100",
+            "2112G200",
+            "2112H000",
+            "2112H100",
+            "2112H200",
+            "2112J000",
+            "2112K000",
+            "2112L000",
+            "2112M000",
+            "21130000",
+            "21131000",
+            "21132000",
+            "21133000",
+            "21134000",
+            "21135000",
+            "21140000",
+            "21141000",
+            "21142000",
+            "21143000",
+            "21144000",
+            "21145000",
+            "21146000",
+            "21200000",
+            "21210000",
+            "21211000",
+            "21212000",
+            "21213000",
+            "21220000",
+            "21221000",
+            "21222000",
+            "21223000",
+            "21224000",
+            "21230000",
+            "21231000",
+            "21232000",
+            "21233000",
+            "21240000",
+            "21300000",
+            "21310000",
+            "21320000",
+            "21330000",
+            "21340000",
+            "21350000",
+            "21360000",
+    };
+    public static String[] BDZAZWBS ={
+            "23000000",
+            "23100000",
+            "23110000",
+            "23111000",
+            "23120000",
+            "23121000",
+            "23122000",
+            "23130000",
+            "23131000",
+            "23131100",
+            "23131200",
+            "23132000",
+            "23132100",
+            "23132200",
+            "23133000",
+            "23134000",
+            "23135000",
+            "23140000",
+            "23141000",
+            "23142000",
+            "23143000",
+            "23144000",
+            "23145000",
+            "23150000",
+            "23151000",
+            "23152000",
+            "23153000",
+            "23160000",
+            "23161000",
+            "23161100",
+            "23161200",
+            "23161300",
+            "23161400",
+            "23162000",
+            "23170000",
+            "23171000",
+            "23172000",
+            "23180000",
+            "23181000",
+            "23182000",
+            "23183000",
+            "23200000",
+            "23210000",
+            "23220000",
+            "23230000",
+            "23300000",
+            "23310000",
+            "23311000",
+            "23312000",
+            "23320000",
+            "23321000"
+    };
+    public static String[] BDZOTHWBS = {"24120000","24220000"};
+
 
     /**
      * 获取基础数据