蔡德晨 5 years ago
parent
commit
841da2d0b0

+ 53 - 0
src/main/java/com/jeeplus/common/utils/sg/ExcelUtil.java

@@ -0,0 +1,53 @@
+package com.jeeplus.common.utils.sg;
+
+import com.jeeplus.common.utils.excel.ImportExcel;
+
+public class ExcelUtil {
+    /**
+     * 根据字段读取数据
+     * @param importExcel 文件
+     * @param sts   字段
+     * @param column1 字段列号
+     * @param column2 读取数据列号
+     * @return
+     */
+    public static double[] getDoubleArray(ImportExcel importExcel,String[] sts,int column1,int column2){
+        int lastRow = importExcel.getLastDataRowNum();
+        int len = sts.length;
+        double[] d = new double[len+1];
+        for(int i=0;i<lastRow;i++){
+            String type = importExcel.getValue(i+1,column1);
+            if(type.equals("")){
+                continue;
+            }
+            for(int j=0;j<len;j++){
+                if(type.equals(sts[j])){
+                    d[j] = importExcel.getDouble(i+1,column2);
+                }
+            }
+//            d[len] += importExcel.getDouble(i+1,column2);
+        }
+        return d;
+    }
+
+
+
+    /**
+     * 读取税金
+     */
+    public static double getTexRate(ImportExcel importExcel){
+        double rate = 0.00;
+        int lastRow = importExcel.getLastDataRowNum();
+        for(int i=2;i<lastRow;i++){
+            String st = importExcel.getValue(i+1,1);
+            if(st.contains("税金")){
+                int a = st.indexOf(":");
+                int a1 = st.indexOf("%");
+                String st1 = st.substring(a+2,a1);
+                rate = Double.valueOf(st1)/100;
+                break;
+            }
+        }
+        return rate;
+    }
+}

+ 13 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/FeeAdjustMapper.java

@@ -0,0 +1,13 @@
+package com.jeeplus.modules.sg.overheadline.mapper;
+
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee;
+
+import java.util.List;
+
+@MyBatisMapper
+public interface FeeAdjustMapper {
+    List<JkxlAdjustFee> getTzFee(JkxlAdjustFee jkxlAdjustFee);
+    void updateTzFee(JkxlAdjustFee jkxlAdjustFee);
+    void saveTzFee(JkxlAdjustFee jkxlAdjustFee);
+}

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/RuleRatioMapper.java

@@ -0,0 +1,9 @@
+package com.jeeplus.modules.sg.overheadline.mapper;
+
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.overheadline.entity.RuleRatio;
+
+@MyBatisMapper
+public interface RuleRatioMapper {
+    RuleRatio getValue(String ratioName);
+}

+ 38 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/FeeAdjustMapper.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.overheadline.mapper.FeeAdjustMapper">
+
+	<select id="getTzFee" parameterType="com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee" resultType="com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee">
+		select id,type,fee from sg_fee_adjust_jkxl
+		<where>
+			<if test="type != null and type != ''">
+				type = #{type} and
+			</if>
+			id = #{id}
+		</where>
+		order by type
+	</select>
+
+	<update id="updateTzFee" parameterType="com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee">
+		update sg_fee_adjust_jkxl set fee = #{fee}
+		<where>
+			<if test="type != null and type != ''">
+				type = #{type} and
+			</if>
+			id = #{id}
+		</where>
+	</update>
+
+	<insert id="saveTzFee" parameterType="com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee">
+		insert into sg_fee_adjust_jkxl
+		(
+		 id,
+		 type,
+		 fee
+		)values (
+		#{id},
+		#{type},
+		#{fee}
+		)
+	</insert>
+</mapper>

+ 11 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/RuleRatioMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.overheadline.mapper.RuleRatioMapper">
+	<select id="getValue" parameterType="String" resultType="com.jeeplus.modules.sg.overheadline.entity.RuleRatio">
+		select value from sg_rule_ratio
+		<where>
+			ratio_name = #{ratioName}
+		</where>
+	</select>
+
+</mapper>

+ 48 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/service/FeeAdjustService.java

@@ -0,0 +1,48 @@
+package com.jeeplus.modules.sg.overheadline.service;
+
+import com.jeeplus.modules.sg.overheadline.entity.JkxlAdjustFee;
+import com.jeeplus.modules.sg.overheadline.mapper.FeeAdjustMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class FeeAdjustService {
+    @Autowired
+    private FeeAdjustMapper feeAdjustMapper;
+
+
+
+   public List<JkxlAdjustFee> getTzFee(JkxlAdjustFee jkxlAdjustFee){
+       return feeAdjustMapper.getTzFee(jkxlAdjustFee);
+   }
+
+    @Transactional
+   public void   updateFee(JkxlAdjustFee jkxlAdjustFee){
+       String type  = jkxlAdjustFee.getType();
+       if(type.equals("补增值税税率调整差额")){
+           type = "1";
+       } else {
+           type = "2";
+       }
+       jkxlAdjustFee.setType(type);
+       jkxlAdjustFee.setFee(0.00);
+        feeAdjustMapper.updateTzFee(jkxlAdjustFee);
+   }
+
+    @Transactional
+    public void saveTzFee(double[] wbs,String id){
+       JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
+       JkxlAdjustFee jkxlAdjustFee1 = new JkxlAdjustFee();
+       jkxlAdjustFee.setId(id);
+       jkxlAdjustFee1.setId(id);
+       jkxlAdjustFee.setType("1");
+       jkxlAdjustFee1.setType("2");
+       jkxlAdjustFee.setFee(wbs[0]);
+       jkxlAdjustFee1.setFee(wbs[1]);
+       feeAdjustMapper.saveTzFee(jkxlAdjustFee);
+       feeAdjustMapper.saveTzFee(jkxlAdjustFee1);
+    }
+}

+ 19 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/service/RuleRatioService.java

@@ -0,0 +1,19 @@
+package com.jeeplus.modules.sg.overheadline.service;
+
+import com.jeeplus.modules.sg.overheadline.entity.RuleRatio;
+import com.jeeplus.modules.sg.overheadline.mapper.RuleRatioMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RuleRatioService {
+    @Autowired
+    private RuleRatioMapper ruleRatioMapper;
+
+
+   public RuleRatio getValueByName(String ratioName){
+       return ruleRatioMapper.getValue(ratioName);
+   }
+
+
+}

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/util/BashInfo.java

@@ -1,4 +1,4 @@
-package com.jeeplus.modules.sg.util;
+package com.jeeplus.modules.sg.overheadline.util;
 
 public class BashInfo {
     public static final String PROJECTNAME = "架空线路";

+ 11 - 12
src/main/java/com/jeeplus/modules/sg/util/JkxlExcel.java

@@ -1,19 +1,18 @@
-package com.jeeplus.modules.sg.util;
+package com.jeeplus.modules.sg.overheadline.util;
 
 import com.jeeplus.common.utils.excel.ImportExcel;
-import com.jeeplus.modules.sg.entity.JkxlData;
+import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 public class JkxlExcel {
-    public static List<JkxlData> getData(String  file) throws IOException, InvalidFormatException {
+    public static List<JkxlDetailFee> getData(String  file) throws IOException, InvalidFormatException {
 
         ImportExcel importExcel = new ImportExcel(file,1,"分部分项工程量清单计价表");
-        List<JkxlData> list = new ArrayList<>();
+        List<JkxlDetailFee> list = new ArrayList<>();
         int lastRow = importExcel.getLastDataRowNum();
         int[] row = new int[6];
         double totalFee = 0.00;
@@ -48,7 +47,7 @@ public class JkxlExcel {
             }
         }
         for(int i=0;i<6;i++){
-            JkxlData jkxlData = new JkxlData();
+            JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
             Double originalRgCost = importExcel.getDouble(row[i],13);
 //            Double rgCost = originalRgCost/(1+rate[0]);
             Double originalCbrCost = importExcel.getDouble(row[i],14);
@@ -57,16 +56,16 @@ public class JkxlExcel {
 //            Double fbrCost = originalFbrCost/(1+0.17);
             Double originalJxrCost = importExcel.getDouble(row[i],17);
 //            Double jxCost = originalJxrCost/(1+rate[2]);
-            jkxlData.setOriginalTotalCost(importExcel.getDouble(row[i],12));
-            jkxlData.setOriginalRgCost(originalRgCost);
+            jkxlDetailFee.setOriginalTotalCost(importExcel.getDouble(row[i],12));
+            jkxlDetailFee.setOriginalRgCost(originalRgCost);
 //            jkxlData.setRgCost(rgCost);
-            jkxlData.setOriginalCbrCost(originalCbrCost);
+            jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
 //            jkxlData.setCbrCost(cbrCost);
-            jkxlData.setOriginalFbrCost(originalFbrCost);
+            jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
 //            jkxlData.setFbrCost(fbrCost);
-            jkxlData.setOriginalJxCost(originalJxrCost);
+            jkxlDetailFee.setOriginalJxCost(originalJxrCost);
 //            jkxlData.setJxCost(jxCost);
-            list.add(jkxlData);
+            list.add(jkxlDetailFee);
         }
         return list;
     }

+ 3 - 6
src/main/java/com/jeeplus/modules/sg/util/Text.java

@@ -1,10 +1,7 @@
-package com.jeeplus.modules.sg.util;
+package com.jeeplus.modules.sg.overheadline.util;
 
-import com.jeeplus.common.utils.excel.ImportExcel;
-import com.jeeplus.modules.sg.entity.JkxlData;
-import com.jeeplus.modules.sg.web.JkxlController;
+import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.hibernate.validator.constraints.EAN;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -15,7 +12,7 @@ public class Text {
   public void text() throws IOException, InvalidFormatException {
       String file = "target/1.xls";
 //      double[] d = {0.17,0.0332,0.0322};
-      List<JkxlData> list = JkxlExcel.getData(file);
+      List<JkxlDetailFee> list = JkxlExcel.getData(file);
 //     double doubles = JkxlExcel.get(file);
 
 //     System.out.println(doubles);