Browse Source

合同编辑时修改合同关联付款的金额,并且合同修改为可以查看部门下的所有合同减少重复创建问题

梁世豪 4 months ago
parent
commit
f7031ecc65

+ 9 - 6
src/main/java/com/liang/controller/PrjContractController.java

@@ -115,6 +115,7 @@ public class PrjContractController extends BaseController {
115 115
                            @RequestParam(required = false, defaultValue = "", value = "kssj")String kssj,
116 116
                            @RequestParam(required = false, defaultValue = "", value = "jssj")String jssj) {
117 117
         List<SysUserInfo> lists = sysUserInfoService.getDept(id);
118
+        String deptId = getSysUserInfo().getDeptId();
118 119
         PageHelper.startPage(pageNum, pageSize);
119 120
         Map<String, Object> paraMap = new HashMap<>();
120 121
         paraMap.put("sortName", sortName);
@@ -146,7 +147,7 @@ public class PrjContractController extends BaseController {
146 147
                 }
147 148
             }
148 149
             if(containsKeyField != true){
149
-                paraMap.put("id",id);
150
+                paraMap.put("deptId",deptId);
150 151
             }
151 152
         }
152 153
         // 部门的可以查看本部门的 ,主任查看 本部门全部的
@@ -195,11 +196,11 @@ public class PrjContractController extends BaseController {
195 196
     @ResponseBody
196 197
     @RequestMapping(value = "/doAdd", method = RequestMethod.POST)
197 198
     public BaseResult doAdd(PrjContract prjContract) {
198
-        int count =prjContractService.selectByMcAndHtjr(prjContract);
199
-        if (count==1){
200
-            return BaseResult.failure("保存失败,已经存在相同的合同!!");
201
-        }else if (count>1){
202
-            return BaseResult.failure("合同保存失败。系统中已存在"+count+"个相同的合同,请联系系统管理员以解决此问题!!!");
199
+        List<PrjContract> prjContractList =prjContractService.selectByMcAndHtjr(prjContract);
200
+        if (prjContractList.size()==1){
201
+            return BaseResult.failure("保存失败,系统已经存在相同的合同,创建人为"+prjContractList.get(0).getCjrxm()+"!!");
202
+        }else if (prjContractList.size()>1){
203
+            return BaseResult.failure("合同保存失败。当前创建的合同系统中已存在"+prjContractList.size()+"个相同合同,请联系系统管理员以解决此问题!!!");
203 204
         }
204 205
         prjContract.setCjr(getSysUserId());
205 206
         prjContract.setSpzt("未锁定");
@@ -256,6 +257,8 @@ public class PrjContractController extends BaseController {
256 257
     @RequestMapping(value = "/doUpdate", method = RequestMethod.POST)
257 258
     public BaseResult doUpdate(PrjContract prjContract) {
258 259
         int num = prjContractService.update(prjContract);
260
+        //修改合同关联的付款金额
261
+        staPayapprovalService.updateHtje(prjContract);
259 262
         if (num > 0) {
260 263
             return BaseResult.success("保存成功!", prjContract);
261 264
         } else {

+ 1 - 1
src/main/java/com/liang/dao/PrjContractDao.java

@@ -107,6 +107,6 @@ public interface PrjContractDao {
107 107
      */
108 108
     int updateZt(Map map);
109 109
 
110
-    int selectByMcAndHtjr(PrjContract prjContract);
110
+    List<PrjContract> selectByMcAndHtjr(PrjContract prjContract);
111 111
 }
112 112
 

+ 3 - 0
src/main/java/com/liang/dao/StaPayapprovalDao.java

@@ -1,5 +1,6 @@
1 1
 package com.liang.dao;
2 2
 
3
+import com.liang.entity.PrjContract;
3 4
 import com.liang.entity.PrjProject;
4 5
 import com.liang.entity.StaPayapproval;
5 6
 import org.apache.ibatis.annotations.Param;
@@ -123,5 +124,7 @@ public interface StaPayapprovalDao {
123 124
     List<StaPayapproval> getFkjh(Integer id);
124 125
 
125 126
     Double selectPayByFkjh(Integer id);
127
+
128
+    void updateHtje(PrjContract prjContract);
126 129
 }
127 130
 

+ 1 - 1
src/main/java/com/liang/service/PrjContractService.java

@@ -86,5 +86,5 @@ public interface PrjContractService {
86 86
      */
87 87
     int updateSpzt(Map map);
88 88
 
89
-    int selectByMcAndHtjr(PrjContract prjContract);
89
+    List<PrjContract> selectByMcAndHtjr(PrjContract prjContract);
90 90
 }

+ 3 - 4
src/main/java/com/liang/service/StaPayapprovalService.java

@@ -1,9 +1,6 @@
1 1
 package com.liang.service;
2 2
 
3
-import com.liang.entity.PrjProject;
4
-import com.liang.entity.StaBudgetapproval;
5
-import com.liang.entity.StaPayapproval;
6
-import com.liang.entity.StaReimbursement;
3
+import com.liang.entity.*;
7 4
 import com.liang.vo.dto.ViewFileVo;
8 5
 import org.springframework.data.domain.Page;
9 6
 import org.springframework.data.domain.PageRequest;
@@ -105,4 +102,6 @@ public interface StaPayapprovalService {
105 102
 
106 103
 
107 104
     Double selectPayByFkjh(Integer id);
105
+
106
+    void updateHtje(PrjContract prjContract);
108 107
 }

+ 1 - 1
src/main/java/com/liang/service/impl/PrjContractServiceImpl.java

@@ -116,7 +116,7 @@ public class PrjContractServiceImpl implements PrjContractService {
116 116
     }
117 117
 
118 118
     @Override
119
-    public int selectByMcAndHtjr(PrjContract prjContract) {
119
+    public List<PrjContract> selectByMcAndHtjr(PrjContract prjContract) {
120 120
         return this.prjContractDao.selectByMcAndHtjr(prjContract);
121 121
     }
122 122
 }

+ 5 - 0
src/main/java/com/liang/service/impl/StaPayapprovalServiceImpl.java

@@ -238,4 +238,9 @@ public class StaPayapprovalServiceImpl implements StaPayapprovalService {
238 238
         return staPayapprovalDao.selectPayByFkjh(id);
239 239
     }
240 240
 
241
+    @Override
242
+    public void updateHtje(PrjContract prjContract) {
243
+        staPayapprovalDao.updateHtje(prjContract);
244
+    }
245
+
241 246
 }

+ 12 - 5
src/main/resources/mapper/PrjContractDao.xml

@@ -214,7 +214,7 @@
214 214
         u.name AS CJRXM,
215 215
         x.ZWMC,
216 216
         x.ERPBH,
217
-        COALESCE((select SUM(BCFKJE) FROM sta_PayApproval sp WHERE sp.HT = c.ID AND sp.SPZT != '作废'),0.00) AS YFJE,
217
+        COALESCE((select SUM(BCFKJE) FROM sta_PayApproval sp WHERE sp.HT = c.ID AND sp.SPZT = '审批结束'),0.00) AS YFJE,
218 218
         DATEDIFF( MONTH, c.kssj, c.jssj ) AS ZQ
219 219
         FROM
220 220
         prj_Contract c
@@ -232,8 +232,8 @@
232 232
         <if test="rwsmc != null and rwsmc != ''">
233 233
             and x.ZWMC like '%'+#{rwsmc}+'%'
234 234
         </if>
235
-        <if test="id != null and id != ''">
236
-            and u.user_id = #{id}
235
+        <if test="deptId != null and deptId != ''">
236
+            and u.dept_id = #{deptId}
237 237
         </if>
238 238
         <if test="erpbh != null and erpbh != ''">
239 239
             and x.erpbh like '%'+#{erpbh}+'%'
@@ -259,8 +259,15 @@
259 259
             </otherwise>
260 260
         </choose>
261 261
     </select>
262
-    <select id="selectByMcAndHtjr" resultType="java.lang.Integer">
263
-        SELECT COUNT(*)FROM prj_Contract WHERE HTMC =#{htmc}  AND HTJE =#{htje}
262
+    <select id="selectByMcAndHtjr" resultType="com.liang.entity.PrjContract">
263
+        SELECT c.*,
264
+               u.name AS CJRXM
265
+        FROM prj_Contract c
266
+                 LEFT JOIN sys_user_info u ON u.user_id = c.CJR
267
+        WHERE HTMC LIKE '%'+#{htmc}+'%'
268
+            AND HTJE = #{htje}
269
+          AND ZT = 1
264 270
     </select>
271
+
265 272
 </mapper>
266 273
 

+ 5 - 0
src/main/resources/mapper/StaPayapprovalDao.xml

@@ -311,6 +311,11 @@
311 311
         set SPZT = #{spzt}
312 312
         where ID = #{id}
313 313
     </update>
314
+    <update id="updateHtje">
315
+        update sta_PayApproval
316
+        set HTJE = #{htje}
317
+        where HT = #{id}
318
+    </update>
314 319
 
315 320
 
316 321
     <select id="getFksq" resultMap="StaPayapprovalMap">

+ 4 - 0
src/main/resources/templates/prjproject/update.html

@@ -1715,6 +1715,10 @@
1715 1715
             for (var i = 0; i < dataBudget.length; i++) {
1716 1716
                 if (bm == dataBudget[i].bm) {
1717 1717
                     value = parseFloat(value);
1718
+                    if (value<0){
1719
+                        alert("金额不能为负数或无效的数字,请重新输入!");
1720
+                        value = null;
1721
+                    }
1718 1722
                     // if(isNaN(value))
1719 1723
                     //     value = null;
1720 1724
                     // var rwsys = $("#rwsys").val();