Browse Source

修改财务信息连表

lfy 3 weeks ago
parent
commit
461d510f54

+ 17 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/DeliveryController.java

@@ -120,6 +120,23 @@ public class DeliveryController {
120 120
         }
121 121
         return success(true);
122 122
     }
123
+    @PutMapping("/revertKqxx")
124
+    @Operation(summary = "库区退回")
125
+    @PreAuthorize("@ss.hasPermission('coding:delivery:query')")
126
+    public CommonResult<Boolean> revertKqxx(@Valid @RequestBody CaxxUpdateReqVO updateReqVO) {
127
+        LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
128
+        log.info("loginUser: {}", loginUser);
129
+        if (ObjectUtils.isNotEmpty(loginUser)) {
130
+            String areaLevel = loginUser.getInfo().get("areaLevel");
131
+            if (StringUtils.isNotBlank(areaLevel)) {
132
+                updateReqVO.setAreaLevel(areaLevel);
133
+                dwxxService.revertKqxx(updateReqVO);
134
+            } else { // admin 管理员
135
+                log.info("超级管理员无修改数据权限loginUser: {}", loginUser);
136
+            }
137
+        }
138
+        return success(true);
139
+    }
123 140
     @PostMapping("/createByAll")
124 141
     @Operation(summary = "创建单位/库区/仓房/财务/交通运输")
125 142
     @PreAuthorize("@ss.hasPermission('coding:delivery:createByAll')")

+ 1 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/dwxx/DwxxService.java

@@ -63,4 +63,5 @@ public interface DwxxService {
63 63
 
64 64
     void revertCaxx(CaxxUpdateReqVO updateReqVO);
65 65
 
66
+    void revertKqxx(CaxxUpdateReqVO updateReqVO);
66 67
 }

+ 56 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/dwxx/DwxxServiceImpl.java

@@ -386,8 +386,64 @@ public class DwxxServiceImpl implements DwxxService {
386 386
                 }
387 387
             }
388 388
         }
389
+    }
389 390
 
391
+    @Override
392
+    public void revertKqxx(CaxxUpdateReqVO updateReqVO) {
393
+        Long loginUserId = SecurityFrameworkUtils.getLoginUser().getId();
394
+        //获取当前用户角色
395
+        List<UserRoleDO> userRoleList = userRoleMapper.selectListByUserId(loginUserId);
396
+        if (ObjectUtils.isEmpty(userRoleList)) {
397
+            throw exception(ERROR,"不存在角色信息");
398
+        }
399
+        String areaLevel = updateReqVO.getAreaLevel();
400
+        // 国家交易中心
401
+        if ("0".equals(areaLevel)) {
402
+            caxxMapper.deleteByIds(updateReqVO.getIds());
403
+            List<CaxxDO> caxxDOS = caxxMapper.selectListByKqId(updateReqVO.getKqId());
404
+            if (ObjectUtils.isEmpty(caxxDOS)){
405
+                dwxxMapper.deleteByDwId(updateReqVO.getDeptId());
406
+                kqxxMapper.deleteByKqId(updateReqVO.getKqId());
407
+                CwxxDO cwxxDO = cwxxMapper.selectBYKqId(updateReqVO.getKqId());
408
+                if (!ObjectUtil.isEmpty(cwxxDO)){
409
+                    Long cwxxDOId = cwxxDO.getId();
410
+                    cwxxMapper.deleteById(cwxxDOId);
411
+                    cwxxYearMapper.deleteListByCwxxId(cwxxDOId);
412
+                }
413
+            }
414
+        }
415
+        if ("1".equals(areaLevel)) {
416
+            List<Long> roleIdList = userRoleList.stream().map(UserRoleDO::getRoleId).distinct().collect(Collectors.toList());
417
+            if (roleIdList.contains(RoleIdEnum.BANK_ADMIN.getRoleId())) {
418
+                // 银行已选
419
+                bankMapper.deleteListByKqIdAndCaIds(updateReqVO.getKqId(), updateReqVO.getIds());
420
+            }else{
421
+                // 省已选
422
+                provinceMapper.deleteListByKqIdAndCaIds(updateReqVO.getKqId(), updateReqVO.getIds());
423
+                KqxxDO kqxxDO = kqxxMapper.selectById(updateReqVO.getKqId());
424
+                if (ObjectUtils.isEmpty(kqxxDO)){
425
+                    throw exception(ERROR,"库区信息不存在");
426
+                }
427
+                Integer sjly = kqxxDO.getSjly();
428
+                if (sjly!=null&&sjly==0){
429
+                    //新建的库区,如果省退回全部的仓房则删除库区的全部信息
430
+                    List<ProvinceDO> provinceDOS = provinceMapper.selectListByKqId(updateReqVO.getKqId());
431
+                    if (ObjectUtils.isEmpty(provinceDOS)){
432
+                        dwxxMapper.deleteByDwId(updateReqVO.getDeptId());
433
+                        kqxxMapper.deleteByKqId(updateReqVO.getKqId());
434
+                        caxxMapper.deleteListByKqId(updateReqVO.getKqId());
435
+                        CwxxDO cwxxDO = cwxxMapper.selectBYKqId(updateReqVO.getKqId());
436
+                        if (!ObjectUtil.isEmpty(cwxxDO)){
437
+                            Long cwxxDOId = cwxxDO.getId();
438
+                            cwxxMapper.deleteById(cwxxDOId);
439
+                            cwxxYearMapper.deleteListByCwxxId(cwxxDOId);
440
+                        }
441
+                    }
442
+                }
443
+            }
444
+        }
390 445
     }
446
+
391 447
     @Transactional
392 448
     public void createCaAndKuAndDWForSheng(CaxxUpdateReqVO updateReqVO) {
393 449
         if (updateReqVO.getKqId() != null) {

+ 4 - 4
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/caxx/CaxxMapper.xml

@@ -32,7 +32,7 @@
32 32
         left join
33 33
         (
34 34
                 select
35
-                        cx.DEPT_ID,
35
+                        cx.KQID,
36 36
                         cy.JLR
37 37
                 from   DELIVERY_CWXX  cx
38 38
                 JOIN
@@ -45,7 +45,7 @@
45 45
                    GROUP BY  CWXX_ID) m
46 46
                    ON d.CWXX_ID = m.CWXX_ID AND d.CN = m.maxCN
47 47
                    )  cy  on cx.id=cy.CWXX_ID
48
-        ) t2 on t2.DEPT_ID=cd.id
48
+        ) t2 on t2.KQID=ck.id
49 49
         <where>
50 50
             cd.qyxz!='10'
51 51
             and cd.DELETED=0
@@ -104,7 +104,7 @@
104 104
         left join
105 105
         (
106 106
                 select
107
-                        cx.DEPT_ID,
107
+                        cx.KQID,
108 108
                         cy.JLR
109 109
                 from   DELIVERY_CWXX  cx
110 110
                 JOIN
@@ -117,7 +117,7 @@
117 117
                    GROUP BY  CWXX_ID) m
118 118
                    ON d.CWXX_ID = m.CWXX_ID AND d.CN = m.maxCN
119 119
                    )  cy  on cx.id=cy.CWXX_ID
120
-        ) t2 on t2.DEPT_ID=cd.id
120
+        ) t2 on t2.KQID=ck.id
121 121
         <where>
122 122
             cd.qyxz!='10'
123 123
             and cd.DELETED=0   and pe.DELETED=0

+ 1 - 1
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dwxx/DwxxMapper.xml

@@ -187,7 +187,7 @@
187 187
         from  DELIVERY_DWXX cd
188 188
         join DELIVERY_KQXX ck on ck.DWID=cd.id
189 189
         join DELIVERY_PROVINCE  pe  on ck.id=pe.KQ_ID
190
-        left join DELIVERY_CWXX  cx  on  cx.DEPT_ID=cd.id
190
+        left join DELIVERY_CWXX  cx  on  cx.KQID=ck.id
191 191
         join
192 192
         (
193 193
                 select