Pārlūkot izejas kodu

材料费 级联

ly 10 mēneši atpakaļ
vecāks
revīzija
369539af83

+ 10 - 0
src/main/java/com/liang/entity/StaMaterial.java

@@ -31,6 +31,16 @@ public class StaMaterial implements Serializable {
31 31
 
32 32
     private String xh;
33 33
 
34
+    // 数量
35
+    private  String sll;
36
+
37
+    public String getSll() {
38
+        return sll;
39
+    }
40
+
41
+    public void setSll(String sll) {
42
+        this.sll = sll;
43
+    }
34 44
 
35 45
     public String getXh() {
36 46
         return xh;

+ 6 - 2
src/main/resources/mapper/StaMaterialDao.xml

@@ -107,11 +107,11 @@
107 107
     </insert>
108 108
 
109 109
     <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
110
-        insert into sta_Material(ZB, FYSQ, CLMC, WLBM, CGDJ, BHSJE, HSJE, BZ,SQJE,SL,XH)
110
+        insert into sta_Material(ZB, FYSQ, CLMC, WLBM, CGDJ, BHSJE, HSJE, BZ,SQJE,SL,XH,SLL)
111 111
         values
112 112
         <foreach collection="entities" item="entity" separator=",">
113 113
             (#{entity.zb}, #{entity.fysq}, #{entity.clmc}, #{entity.wlbm}, #{entity.cgdj}, #{entity.bhsje},
114
-            #{entity.hsje}, #{entity.bz},#{entity.sqje},#{entity.sl},#{entity.xh})
114
+            #{entity.hsje}, #{entity.bz},#{entity.sqje},#{entity.sl},#{entity.xh},#{entity.sll})
115 115
         </foreach>
116 116
     </insert>
117 117
 
@@ -161,6 +161,9 @@
161 161
             <if test="bz != null and bz != ''">
162 162
                 BZ = #{bz},
163 163
             </if>
164
+            <if test="sll != null and sll != ''">
165
+                SLL = #{sll}
166
+            </if>
164 167
         </set>
165 168
         where ID = #{id}
166 169
     </update>
@@ -212,6 +215,7 @@
212 215
         m.CGDJ,
213 216
         m.BHSJE,
214 217
         m.HSJE,
218
+        m.SLL,
215 219
         CASE
216 220
         WHEN b.SFBYJ = 0 THEN '否'
217 221
         WHEN b.SFBYJ = 1 THEN '是'

+ 1 - 1
src/main/resources/mapper/StaSourceFeeDao.xml

@@ -250,7 +250,7 @@
250 250
         base_ProjectType ON sta_BudgetApproval.XMLX = base_ProjectType.XMLX
251 251
         INNER JOIN
252 252
         base_Person ON sta_BudgetApproval.XMFZR = base_Person.ID
253
-        INNER JOIN
253
+        LEFT JOIN
254 254
         sta_Reimbursement ON sta_BudgetApproval.ID = sta_Reimbursement.FYSQ
255 255
         where
256 256
         sta_BudgetApproval.SPZT != '作废'

+ 7 - 3
src/main/resources/templates/stabudgetapproval/update_apply.html

@@ -2767,6 +2767,7 @@
2767 2767
                     {field: 'hsje', title: '含税金额(元))', width: '13%'},
2768 2768
                     {field: 'sqje', title: '申请金额', width: '15%'},
2769 2769
                     {field: 'sl',title: '税率',width: '10%'},
2770
+                    {field: 'sll',title: '数量',width: '10%'},
2770 2771
                     {field: 'bz', title: '备注', width: '15%'}
2771 2772
                 ]
2772 2773
             ],
@@ -2825,7 +2826,8 @@
2825 2826
                     "hsje": data[0].hsje,
2826 2827
                     "sl": data[0].sl,
2827 2828
                     "bz":data[0].bz,
2828
-                    "wlbm":data[0].wlbm
2829
+                    "wlbm":data[0].wlbm,
2830
+                    "sll": data[0].sll,
2829 2831
                 };
2830 2832
                 layer.open({
2831 2833
                     title: '编辑材料费',
@@ -2878,7 +2880,8 @@
2878 2880
                     "hsje": data[0].hsje,
2879 2881
                     "sl": data[0].sl,
2880 2882
                     "bz":data[0].bz,
2881
-                    "wlbm":data[0].wlbm
2883
+                    "wlbm":data[0].wlbm,
2884
+                    "sll": data[0].sll,
2882 2885
                 };
2883 2886
                 layer.open({
2884 2887
                     title: '浏览材料费',
@@ -3791,7 +3794,8 @@
3791 3794
                                         "cgdj": item.cgdj,
3792 3795
                                         "bhsje": item.bhsje,
3793 3796
                                         "hsje": item.hsje,
3794
-                                        "bz": item.bz
3797
+                                        "bz": item.bz,
3798
+                                        "sll":item.sll
3795 3799
                                     };
3796 3800
                                     matCosts.push(cost);
3797 3801
                                 }

+ 50 - 16
src/main/resources/templates/stamaterial/add.html

@@ -29,6 +29,12 @@
29 29
                 <input type="text" id="wlbm" name="wlbm" lay-verify="required" lay-reqtext="物料编码不能为空"
30 30
                        class="layui-input">
31 31
             </div>
32
+        </div>
33
+        <div class="layui-form-item layui-inline" style="width: 100%">
34
+            <label class="layui-form-label required" style="width: 70px">税率</label>
35
+            <div class="layui-input-inline" style="width: 640px">
36
+                <input type="text" id="sl" name="sl" class="layui-input" min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
37
+            </div>
32 38
         </div>
33 39
                 <div class="layui-form-item layui-inline" style="width: 100%">
34 40
                     <label class="layui-form-label required" style="width: 70px">序号</label>
@@ -41,32 +47,33 @@
41 47
                     </div>
42 48
                 </div>
43 49
         <div class="layui-form-item layui-inline" style="width: 100%">
50
+            <label class="layui-form-label required" style="width: 70px">含税金额</label>
51
+            <div class="layui-input-inline" style="width: 265px">
52
+                <input type="number" id="hsje" name="hsje" min="0" lay-verify="required" lay-reqtext="含税金额不能为空"
53
+                       autocomplete="off" class="layui-input" oninput="calculateBhsje()">
54
+            </div>
55
+            <label class="layui-form-label required" style="width: 70px">不含税金额</label>
56
+            <div class="layui-input-inline" style="width: 265px">
57
+                <input type="number" id="bhsje" name="bhsje" class="layui-input" min = "0"
58
+                       lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off" oninput="calculateHsje()">
59
+            </div>
60
+        </div>
61
+        <div class="layui-form-item layui-inline" style="width: 100%">
62
+
44 63
             <label class="layui-form-label required" style="width: 70px">单价(万元)</label>
45 64
             <div class="layui-input-inline" style="width: 265px">
46 65
                 <input type="number" id="cgdj" name="cgdj" min="0" lay-verify="required" lay-reqtext="单价不能为空"
47 66
                        autocomplete="off" class="layui-input">
48 67
             </div>
49
-                        <label class="layui-form-label required" style="width: 70px">不含税金额</label>
50
-                        <div class="layui-input-inline" style="width: 265px">
51
-                            <input type="number" id="bhsje" name="bhsje" class="layui-input" min = "0" lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off">
52
-                        </div>
53
-        </div>
54
-                <div class="layui-form-item layui-inline" style="width: 100%">
55
-                    <label class="layui-form-label required" style="width: 70px">含税金额</label>
56
-                    <div class="layui-input-inline" style="width: 640px">
57
-                        <input type="number" id="hsje" name="hsje" class="layui-input" min="0" lay-verify="requird" lay-reqtext="含税金额不能为空" autocomplete="off">
58
-                    </div>
59
-                </div>
60
-        <div class="layui-form-item layui-inline" style="width: 100%">
61
-            <label class="layui-form-label required" style="width: 70px">税率</label>
62
-            <div class="layui-input-inline" style="width: 640px">
63
-                <input type="text" id="sl" name="sl" class="layui-input" min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
68
+            <label class="layui-form-label required" style="width: 70px">数量</label>
69
+            <div class="layui-input-inline" style="width: 265px">
70
+                <input type="number" id="sll" name="sll" class="layui-input" min = "0" lay-verify="required" lay-reqtext="数量不能为空" autocomplete="off">
64 71
             </div>
65 72
         </div>
66 73
         <div class="layui-form-item layui-inline" style="width: 100%">
67 74
             <label class="layui-form-label" style="width: 70px">备注</label>
68 75
             <div class="layui-input-inline" style="width: 640px">
69
-                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 300px"></textarea>
76
+                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 200px"></textarea>
70 77
             </div>
71 78
         </div>
72 79
         <!-- 右侧悬浮按钮 -->
@@ -80,6 +87,32 @@
80 87
         </div>
81 88
     </div>
82 89
 </form>
90
+<script>
91
+    function calculateBhsje() {
92
+        var hsje = parseFloat(document.getElementById('hsje').value);
93
+        var sl = parseFloat(document.getElementById('sl').value);
94
+
95
+        if (isNaN(hsje) || isNaN(sl) || sl < 0) {
96
+            document.getElementById('bhsje').value = '';
97
+        } else {
98
+            var bhsje = hsje / (1 + sl / 100); // 如果需要,将税率转换为小数形式
99
+            document.getElementById('bhsje').value = bhsje.toFixed(2); // 根据需要调整小数位数
100
+        }
101
+    }
102
+
103
+    function calculateHsje() {
104
+        var bhsje = parseFloat(document.getElementById('bhsje').value);
105
+        var sl = parseFloat(document.getElementById('sl').value);
106
+
107
+        if (isNaN(bhsje) || isNaN(sl) || sl < 0) {
108
+            document.getElementById('hsje').value = '';
109
+        } else {
110
+            var hsje = bhsje * (1 + sl / 100); // 如果需要,将税率转换为小数形式
111
+            document.getElementById('hsje').value = hsje.toFixed(2); // 根据需要调整小数位数
112
+        }
113
+    }
114
+</script>
115
+
83 116
 
84 117
 <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
85 118
 <script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
@@ -104,6 +137,7 @@
104 137
             var iframeIndex = parent.layer.getFrameIndex(window.name);
105 138
             parent.layer.close(iframeIndex);
106 139
         });
140
+
107 141
     });
108 142
 </script>
109 143
 </body>

+ 48 - 13
src/main/resources/templates/stamaterial/update.html

@@ -30,6 +30,12 @@
30 30
                        class="layui-input">
31 31
             </div>
32 32
         </div>
33
+        <div class="layui-form-item layui-inline" style="width: 100%">
34
+            <label class="layui-form-label required" style="width: 70px">税率</label>
35
+            <div class="layui-input-inline" style="width: 640px">
36
+                <input type="text" id="sl" name="sl" class="layui-input" min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
37
+            </div>
38
+        </div>
33 39
         <div class="layui-form-item layui-inline" style="width: 100%">
34 40
             <label class="layui-form-label required" style="width: 70px">序号</label>
35 41
             <div class="layui-input-inline" style="width: 265px">
@@ -41,32 +47,33 @@
41 47
             </div>
42 48
         </div>
43 49
         <div class="layui-form-item layui-inline" style="width: 100%">
44
-            <label class="layui-form-label required" style="width: 70px">单价(万元)</label>
50
+            <label class="layui-form-label required" style="width: 70px">含税金额</label>
45 51
             <div class="layui-input-inline" style="width: 265px">
46
-                <input type="number" id="cgdj" name="cgdj" min="0" lay-verify="required" lay-reqtext="单价不能为空"
47
-                       autocomplete="off" class="layui-input">
52
+                <input type="number" id="hsje" name="hsje" min="0" lay-verify="required" lay-reqtext="含税金额不能为空"
53
+                       autocomplete="off" class="layui-input" oninput="calculateBhsje()">
48 54
             </div>
49 55
             <label class="layui-form-label required" style="width: 70px">不含税金额</label>
50 56
             <div class="layui-input-inline" style="width: 265px">
51
-                <input type="number" id="bhsje" name="bhsje" class="layui-input" min = "0" lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off">
57
+                <input type="number" id="bhsje" name="bhsje" class="layui-input" min = "0"
58
+                       lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off" oninput="calculateHsje()">
52 59
             </div>
53 60
         </div>
54 61
         <div class="layui-form-item layui-inline" style="width: 100%">
55
-            <label class="layui-form-label required" style="width: 70px">含税金额</label>
56
-            <div class="layui-input-inline" style="width: 640px">
57
-                <input type="number" id="hsje" name="hsje" class="layui-input" min="0" lay-verify="requird" lay-reqtext="含税金额不能为空" autocomplete="off">
62
+
63
+            <label class="layui-form-label required" style="width: 70px">单价(万元)</label>
64
+            <div class="layui-input-inline" style="width: 265px">
65
+                <input type="number" id="cgdj" name="cgdj" min="0" lay-verify="required" lay-reqtext="单价不能为空"
66
+                       autocomplete="off" class="layui-input">
58 67
             </div>
59
-        </div>
60
-        <div class="layui-form-item layui-inline" style="width: 100%">
61
-            <label class="layui-form-label required" style="width: 70px">税率</label>
62
-            <div class="layui-input-inline" style="width: 640px">
63
-                <input type="text" id="sl" name="sl" class="layui-input" min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
68
+            <label class="layui-form-label required" style="width: 70px">数量</label>
69
+            <div class="layui-input-inline" style="width: 265px">
70
+                <input type="number" id="sll" name="sll" class="layui-input" min = "0" lay-verify="required" lay-reqtext="数量不能为空" autocomplete="off">
64 71
             </div>
65 72
         </div>
66 73
         <div class="layui-form-item layui-inline" style="width: 100%">
67 74
             <label class="layui-form-label" style="width: 70px">备注</label>
68 75
             <div class="layui-input-inline" style="width: 640px">
69
-                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 300px"></textarea>
76
+                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 200px"></textarea>
70 77
             </div>
71 78
         </div>
72 79
         <!-- 右侧悬浮按钮 -->
@@ -80,6 +87,32 @@
80 87
         </div>
81 88
     </div>
82 89
 </form>
90
+<script>
91
+    function calculateBhsje() {
92
+        var hsje = parseFloat(document.getElementById('hsje').value);
93
+        var sl = parseFloat(document.getElementById('sl').value);
94
+
95
+        if (isNaN(hsje) || isNaN(sl) || sl < 0) {
96
+            document.getElementById('bhsje').value = '';
97
+        } else {
98
+            var bhsje = hsje / (1 + sl / 100); // 如果需要,将税率转换为小数形式
99
+            document.getElementById('bhsje').value = bhsje.toFixed(2); // 根据需要调整小数位数
100
+        }
101
+    }
102
+
103
+    function calculateHsje() {
104
+        var bhsje = parseFloat(document.getElementById('bhsje').value);
105
+        var sl = parseFloat(document.getElementById('sl').value);
106
+
107
+        if (isNaN(bhsje) || isNaN(sl) || sl < 0) {
108
+            document.getElementById('hsje').value = '';
109
+        } else {
110
+            var hsje = bhsje * (1 + sl / 100); // 如果需要,将税率转换为小数形式
111
+            document.getElementById('hsje').value = hsje.toFixed(2); // 根据需要调整小数位数
112
+        }
113
+    }
114
+</script>
115
+
83 116
 
84 117
 <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
85 118
 <script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
@@ -103,6 +136,8 @@
103 136
         $("#bz").val(materialCost.bz);
104 137
         $("#xh").val(materialCost.xh);
105 138
         $("#sl").val(materialCost.sl);
139
+        $("#sll").val(materialCost.sll);
140
+
106 141
 
107 142
         //监听提交
108 143
         form.on('submit(saveBtn)', function (data) {

+ 22 - 14
src/main/resources/templates/stamaterial/view.html

@@ -20,7 +20,7 @@
20 20
             <label class="layui-form-label required" style="width: 70px">材料名称</label>
21 21
             <div class="layui-input-inline" style="width: 640px">
22 22
                 <input type="text" id="clmc" name="clmc" lay-verify="required" lay-reqtext="材料名称不能为空"
23
-                       class="layui-input" disabled >
23
+                       class="layui-input" disabled>
24 24
             </div>
25 25
         </div>
26 26
         <div class="layui-form-item layui-inline" style="width: 100%">
@@ -30,6 +30,12 @@
30 30
                        class="layui-input" disabled>
31 31
             </div>
32 32
         </div>
33
+        <div class="layui-form-item layui-inline" style="width: 100%">
34
+            <label class="layui-form-label required" style="width: 70px">税率</label>
35
+            <div class="layui-input-inline" style="width: 640px">
36
+                <input type="text" id="sl" name="sl" class="layui-input" disabled min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
37
+            </div>
38
+        </div>
33 39
         <div class="layui-form-item layui-inline" style="width: 100%">
34 40
             <label class="layui-form-label required" style="width: 70px">序号</label>
35 41
             <div class="layui-input-inline" style="width: 265px">
@@ -41,32 +47,33 @@
41 47
             </div>
42 48
         </div>
43 49
         <div class="layui-form-item layui-inline" style="width: 100%">
44
-            <label class="layui-form-label required" style="width: 70px">单价(万元)</label>
50
+            <label class="layui-form-label required" style="width: 70px">含税金额</label>
45 51
             <div class="layui-input-inline" style="width: 265px">
46
-                <input type="number" id="cgdj" name="cgdj" min="0" lay-verify="required" lay-reqtext="单价不能为空"
47
-                       autocomplete="off" class="layui-input" disabled>
52
+                <input type="number" id="hsje" name="hsje" min="0" lay-verify="required" lay-reqtext="含税金额不能为空"
53
+                       autocomplete="off" class="layui-input" disabled oninput="calculateBhsje()">
48 54
             </div>
49 55
             <label class="layui-form-label required" style="width: 70px">不含税金额</label>
50 56
             <div class="layui-input-inline" style="width: 265px">
51
-                <input type="number" id="bhsje" name="bhsje" class="layui-input" disabled min = "0" lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off">
57
+                <input type="number" id="bhsje" name="bhsje" class="layui-input" disabled min = "0"
58
+                       lay-verify="required" lay-reqtext="不含税金额不能为空" autocomplete="off" oninput="calculateHsje()">
52 59
             </div>
53 60
         </div>
54 61
         <div class="layui-form-item layui-inline" style="width: 100%">
55
-            <label class="layui-form-label required" style="width: 70px">含税金额</label>
56
-            <div class="layui-input-inline" style="width: 640px">
57
-                <input type="number" id="hsje" name="hsje" class="layui-input" disabled min="0" lay-verify="requird" lay-reqtext="含税金额不能为空" autocomplete="off">
62
+
63
+            <label class="layui-form-label required" style="width: 70px">单价(万元)</label>
64
+            <div class="layui-input-inline" style="width: 265px">
65
+                <input type="number" id="cgdj" name="cgdj" min="0" lay-verify="required" lay-reqtext="单价不能为空"
66
+                       autocomplete="off" class="layui-input" disabled>
58 67
             </div>
59
-        </div>
60
-        <div class="layui-form-item layui-inline" style="width: 100%">
61
-            <label class="layui-form-label required" style="width: 70px">税率</label>
62
-            <div class="layui-input-inline" style="width: 640px">
63
-                <input type="text" id="sl" name="sl" class="layui-input" disabled min="0" lay-verify="requird" lay-reqtext="税率不能为空" autocomplete="off">
68
+            <label class="layui-form-label required" style="width: 70px">数量</label>
69
+            <div class="layui-input-inline" style="width: 265px">
70
+                <input type="number" id="sll" name="sll" class="layui-input" disabled min = "0" lay-verify="required" lay-reqtext="数量不能为空" autocomplete="off">
64 71
             </div>
65 72
         </div>
66 73
         <div class="layui-form-item layui-inline" style="width: 100%">
67 74
             <label class="layui-form-label" style="width: 70px">备注</label>
68 75
             <div class="layui-input-inline" style="width: 640px">
69
-                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 300px"></textarea>
76
+                <textarea id="bz" name="bz" class="layui-textarea" style="width: 100%;height: 200px" disabled></textarea>
70 77
             </div>
71 78
         </div>
72 79
         <!-- 右侧悬浮按钮 -->
@@ -103,6 +110,7 @@
103 110
         $("#bz").val(materialCost.bz);
104 111
         $("#xh").val(materialCost.xh);
105 112
         $("#sl").val(materialCost.sl);
113
+        $("#sll").val(materialCost.sll);
106 114
         // 监听取消按钮
107 115
         $("button[lay-filter='cancleBtn']").click(function () {
108 116
             var iframeIndex = parent.layer.getFrameIndex(window.name);

+ 1 - 0
src/main/resources/templates/statistical/material.html

@@ -161,6 +161,7 @@
161 161
                     {type: 'numbers', align: 'center',title: '序号'},
162 162
                     {field: 'BM', width: '7%', title: '所属部门'},
163 163
                     {field: 'XMBH', width: '7%', title: '项目编号'},
164
+                    {field: 'SLL', width: '7%', title: '数量'},
164 165
                     {field: 'NF',width: '5%',title:'年份'},
165 166
                     {field: 'BH',width: '7%',title: '费用申请编号'},
166 167
                     {field: 'XMMC', width: '15%', title: '项目名称', sort: true},