瀏覽代碼

任务书同步外委研究支出费合计逻辑优化

ly 4 月之前
父節點
當前提交
f538ea33ba

+ 1 - 0
src/main/java/com/liang/dao/PrjAnnualbudgetdetailDao.java

@@ -111,6 +111,7 @@ public interface PrjAnnualbudgetdetailDao {
111 111
     int batchDelete(List<Integer> nysList);
112 112
 
113 113
     int updateRWSYS(@Param("id") Integer id, @Param("DW") String DW);
114
+    int updateWW(@Param("id") Integer id, @Param("DW") String DW);
114 115
 
115 116
     int updateWWYJZCF(@Param("id") Integer id, @Param("WWYJZCF") BigDecimal WWYJZCF);
116 117
 

+ 7 - 5
src/main/java/com/liang/service/impl/PrjProjectServiceImpl.java

@@ -262,7 +262,10 @@ public class PrjProjectServiceImpl implements PrjProjectService {
262 262
                 //更新外委研究支出费
263 263
                 BigDecimal WWYJZCF = null;
264 264
                 if (StringUtils.isNotBlank(DW)) {
265
+                    // 更新除 总计与 外委研究支出费之外的 数据同步
265 266
                     int updateNum = prjAnnualbudgetdetailDao.updateRWSYS(rws, DW);
267
+                    // 更新外委
268
+                    int updateWw = prjAnnualbudgetdetailDao.updateWW(rws,DW);
266 269
                     if ("s2".equals(prjProject.getXmlx())) {
267 270
                         //国网项目
268 271
                         WWYJZCF = prjAnnualbudgetdetailDao.selectWWYJZCF_GW(rws, DW);
@@ -271,13 +274,14 @@ public class PrjProjectServiceImpl implements PrjProjectService {
271 274
                     //没有陕西国网支出 清空年度预算
272 275
                     prjAnnualbudgetdetailDao.updateNDYS(rws);
273 276
                     WWYJZCF = prjBudgetDao.queryYSJEByXMAndZJ(rws);
274
-
275 277
                 }
276
-                int numWWYJZCF = prjAnnualbudgetdetailDao.updateWWYJZCF(rws, WWYJZCF);
278
+                // 判断外委研究支出费中 外委研究支出费是否为空值
279
+                if (WWYJZCF != null){
280
+                    int numWWYJZCF = prjAnnualbudgetdetailDao.updateWWYJZCF(rws, WWYJZCF);
281
+                }
277 282
                 //更新外委支出总费
278 283
                 prjAnnualbudgetdetailDao.updateWWYJZCFSUM(rws);
279 284
             }
280
-
281 285
         }
282 286
         if ("s1".equals(prjProject.getXmlx())) {
283 287
             //陕西项目
@@ -302,13 +306,11 @@ public class PrjProjectServiceImpl implements PrjProjectService {
302 306
                     //没有陕西国网支出 清空年度预算
303 307
                     prjAnnualbudgetdetailDao.updateNDYS(rws);
304 308
                     WWYJZCF = prjBudgetDao.queryYSJEByXMAndZJ(rws);
305
-
306 309
                 }
307 310
                 int numWWYJZCF = prjAnnualbudgetdetailDao.updateWWYJZCF(rws, WWYJZCF);
308 311
                 //更新外委支出总费
309 312
                 prjAnnualbudgetdetailDao.updateWWYJZCFSUM(rws);
310 313
             }
311
-
312 314
         }
313 315
         return BaseResult.success("同步成功");
314 316
     }

+ 14 - 4
src/main/resources/mapper/PrjAnnualbudgetdetailDao.xml

@@ -451,14 +451,24 @@
451 451
           and A.FYMC != '(1)外委研究支出费'
452 452
           and A.FYMC != '总计'
453 453
     </update>
454
+    <update id="updateWW">
455
+
456
+        update A
457
+        set A.XMZYS = B.DW from prj_AnnualBudgetDetail A
458
+            inner join (SELECT MC, ${DW} as DW
459
+          , YSJE from prj_Budget where XM = #{id}) B
460
+        on A.FYMC = B.MC
461
+        where
462
+            NYS in (SELECT ID from prj_AnnualBudget where RWS = #{id} )
463
+          and A.FYMC = '(1)外委研究支出费'
464
+    </update>
454 465
     <update id="updateWWYJZCF">
455 466
 
456 467
         update prj_AnnualBudgetDetail
457
-        set RWSYS = #{WWYJZCF},
458
-            XMZYS = #{WWYJZCF}
468
+        set RWSYS = case when RWSYS is not null then RWSYS + CAST(#{WWYJZCF} AS DECIMAL(10, 2)) else CAST(#{WWYJZCF} AS DECIMAL(10, 2)) end,
469
+            XMZYS = case when XMZYS is not null then XMZYS + CAST(#{WWYJZCF} AS DECIMAL(10, 2)) else CAST(#{WWYJZCF} AS DECIMAL(10, 2)) end
459 470
         where NYS in (SELECT ID from prj_AnnualBudget where RWS = #{id})
460
-          and FYMC = '(1)外委研究支出费'
461
-
471
+          and FYMC = '(1)外委研究支出费';
462 472
     </update>
463 473
     <update id="updateXMZYS">
464 474
         update prj_AnnualBudgetDetail

+ 0 - 1
src/main/resources/templates/prjproject/list.html

@@ -779,7 +779,6 @@
779 779
                 } else if (data[0].spzt != "审批结束") {
780 780
                     Message.warning("该任务书未审批结束,不能同步!", 1500);
781 781
                 } else {
782
-
783 782
                     layer.confirm('确定要将该任务书进行数据同步吗?', function (index) {
784 783
                         layer.close(index);
785 784
                         AjaxUtil.get({

+ 0 - 1
src/main/resources/templates/reportinfo/list_myproject.html

@@ -12,7 +12,6 @@
12 12
         body {
13 13
             overflow-y: scroll;
14 14
         }
15
-
16 15
         /* 禁止刷新后出现横向滚动条 */
17 16
     </style>
18 17
 </head>