Bladeren bron

新增仓房,仓房选择调整

guobing 1 week geleden
bovenliggende
commit
517d03610a
15 gewijzigde bestanden met toevoegingen van 339 en 139 verwijderingen
  1. 0 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/caxx/vo/CaxxSaveReqVO.java
  2. 3 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/cwxx/vo/CwxxSaveReqVO.java
  3. 1 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/DeliveryController.java
  4. 3 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/CaxxUpdateReqVO.java
  5. 2 4
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/DeliverySaveVO.java
  6. 3 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/StoreRespVO.java
  7. 1 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/dwxx/DwxxController.java
  8. 86 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/dwxx/vo/DwAndKqRespVO.java
  9. 1 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/caxx/CaxxMapper.java
  10. 2 2
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/fmxx/FmxxMapper.java
  11. 2 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/delivery/DeliveryService.java
  12. 121 100
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/delivery/DeliveryServiceImpl.java
  13. 34 25
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/dwxx/DwxxServiceImpl.java
  14. 1 1
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/caxx/CaxxMapper.xml
  15. 79 3
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dwxx/DwxxMapper.xml

+ 0 - 1
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/caxx/vo/CaxxSaveReqVO.java

@@ -87,7 +87,6 @@ public class CaxxSaveReqVO {
87 87
     @Schema(description = "客户名称(单位名称)")
88 88
     private String khmc;
89 89
 
90
-
91 90
     @Schema(description = "客户联系电话")
92 91
     private String khlxdh;
93 92
 

+ 3 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/cwxx/vo/CwxxSaveReqVO.java

@@ -14,6 +14,9 @@ public class CwxxSaveReqVO {
14 14
     @Schema(description = "雪花id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30550")
15 15
     private Long id;
16 16
 
17
+    @Schema(description = "库区名称")
18
+    private String kqmc;
19
+
17 20
     @Schema(description = "是否国有及国有控股(0:是,1不是)")
18 21
     private Integer sfgykg;
19 22
 

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

@@ -92,7 +92,7 @@ public class DeliveryController {
92 92
     @PostMapping("/createByAll")
93 93
     @Operation(summary = "创建单位/库区/仓房/财务/交通运输")
94 94
     @PreAuthorize("@ss.hasPermission('coding:kqxx:creat')")
95
-    public CommonResult<Object> createByAll(@Valid @RequestBody DeliverySaveVO createReqVO) {
95
+    public CommonResult createByAll(@Valid @RequestBody DeliverySaveVO createReqVO) {
96 96
         return success(deliveryService.createByAll(createReqVO));
97 97
     }
98 98
 

+ 3 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/CaxxUpdateReqVO.java

@@ -18,6 +18,9 @@ public class CaxxUpdateReqVO {
18 18
     @Schema(description = "仓房id")
19 19
     private List<Long> ids;
20 20
 
21
+    @Schema(description = "仓房列表")
22
+    private List<StoreRespVO> storeRespVOList;
23
+
21 24
     @Schema(description = "库区id")
22 25
     private Long kqId;
23 26
 

+ 2 - 4
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/DeliverySaveVO.java

@@ -23,13 +23,11 @@ public class DeliverySaveVO {
23 23
     private DwxxSaveReqVO dwxxReqVO;
24 24
 
25 25
     @Schema(description = "库区信息")
26
-    private KqxxSaveReqVO kqxxReqVO;
26
+    private List<KqxxSaveReqVO> kqxxReqVOList;
27 27
 
28 28
     @Schema(description = "仓房信息")
29 29
     private List<CaxxSaveReqVO> caxxReqVOList;
30 30
 
31 31
     @Schema(description = "财务信息")
32
-    private CwxxSaveReqVO cwxxReqVO;
33
-
34
-    // 交通运输情况
32
+    private List<CwxxSaveReqVO> cwxxReqVOList;
35 33
 }

+ 3 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/delivery/vo/StoreRespVO.java

@@ -50,4 +50,7 @@ public class StoreRespVO {
50 50
     @Schema(description = "储存状态")
51 51
     @DictFormat(DictTypeConstants.CC_TYPE)
52 52
     private Integer cczt;
53
+
54
+    @Schema(description = "数据来源")
55
+    private Integer sjly;
53 56
 }

+ 1 - 1
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/dwxx/DwxxController.java

@@ -102,7 +102,7 @@ public class DwxxController {
102 102
     @GetMapping("/getDwAndKq")
103 103
     @Operation(summary = "获得单位信息及其下的库区信息")
104 104
     @Parameter(name = "tyxydm", description = "统一信用代码", required = true, example = "1024")
105
-    @PreAuthorize("@ss.hasPermission('coding:dwxx:getDwAndKq')")
105
+    //@PreAuthorize("@ss.hasPermission('coding:dwxx:getDwAndKq')")
106 106
     public CommonResult<DwAndKqRespVO> getDwAndKq(@RequestParam("tyxydm") String tyxydm) {
107 107
         return success(dwxxService.getDwAndKq(tyxydm));
108 108
     }

+ 86 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/dwxx/vo/DwAndKqRespVO.java

@@ -2,9 +2,11 @@ package com.unis.module.coding.controller.admin.dwxx.vo;
2 2
 
3 3
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
4 4
 import com.alibaba.excel.annotation.ExcelProperty;
5
+import com.unis.module.coding.controller.admin.cwxx.vo.CwxxRespVO;
5 6
 import io.swagger.v3.oas.annotations.media.Schema;
6 7
 import lombok.Data;
7 8
 
9
+import javax.validation.constraints.NotNull;
8 10
 import java.math.BigDecimal;
9 11
 import java.time.LocalDateTime;
10 12
 import java.util.List;
@@ -50,6 +52,12 @@ public class DwAndKqRespVO {
50 52
     @Schema(description = "单位下库区信息列表")
51 53
     private List<Kq> kqList;
52 54
 
55
+    @Schema(description = "库区下仓房信息列表")
56
+    private List<Cf> cfList;
57
+
58
+    @Schema(description = "财务信息列表")
59
+    private List<Cw> cwList;
60
+
53 61
     // 内部子类,包含单位下库区信息
54 62
     @Data
55 63
     @Schema(description = "单位下库区信息")
@@ -114,4 +122,82 @@ public class DwAndKqRespVO {
114 122
         @Schema(description = "上传库区图id")
115 123
         private String resid;
116 124
     }
125
+
126
+    // 内部子类,包含库区下仓房信息
127
+    @Data
128
+    @Schema(description = "库区下仓房信息")
129
+    public static class Cf {
130
+        @Schema(description = "仓房id")
131
+        private Long cfId;
132
+
133
+        @Schema(description = "库区名称")
134
+        private String kqmc;
135
+
136
+        @Schema(description = "仓房名称")
137
+        private String cfmc;
138
+
139
+        @Schema(description = "仓房类型")
140
+        private String cflx;
141
+
142
+        @Schema(description = "仓房编号")
143
+        private String cfbm;
144
+
145
+        @Schema(description = "仓房状态")
146
+        private String cazt;
147
+
148
+        @Schema(description = "设计仓容")
149
+        private BigDecimal sjcr;
150
+
151
+        @Schema(description = "其他仓型说明")
152
+        private String qtcxsm;
153
+
154
+        @Schema(description = "客户名称(单位名称)")
155
+        private String khmc;
156
+
157
+        @Schema(description = "客户联系电话")
158
+        private String khlxdh;
159
+
160
+        @Schema(description = "客户身份证号(社会统一信用代码)")
161
+        private String khbh;
162
+    }
163
+
164
+    // 内部子类,包含库区下财务信息
165
+    @Data
166
+    @Schema(description = "库区下财务信息")
167
+    public static class Cw {
168
+        @Schema(description = "财务ID")
169
+        private Long cwId;
170
+
171
+        @Schema(description = "库区名称")
172
+        private String kqmc;
173
+
174
+        @Schema(description = "是否国有及国有控股(0:是,1不是)")
175
+        private String sfgykg;
176
+
177
+        @Schema(description = "上一年度总资产(万元)")
178
+        private String syndzzc;
179
+
180
+        @Schema(description = "财年信息")
181
+        private List<Cwy> cwyList;
182
+
183
+        // 内部子类,包含财务下财年信息
184
+        @Data
185
+        @Schema(description = "财务下财年信息")
186
+        public static class Cwy {
187
+            @Schema(description = "财年ID")
188
+            private Long cwyId;
189
+
190
+            @Schema(description = "财年")
191
+            private Integer cn;
192
+
193
+            @Schema(description = "总负债(万元)")
194
+            private BigDecimal zfz;
195
+
196
+            @Schema(description = "营业收入(万元)")
197
+            private BigDecimal yysr;
198
+
199
+            @Schema(description = "净利润(万元)")
200
+            private BigDecimal jlr;
201
+        }
202
+    }
117 203
 }

+ 1 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/caxx/CaxxMapper.java

@@ -87,6 +87,7 @@ public interface CaxxMapper extends BaseMapperX<CaxxDO> {
87 87
         List<CaxxDO> caxxList = selectList(
88 88
                 new LambdaQueryWrapperX<CaxxDO>()
89 89
                         .eqIfPresent(CaxxDO::getKqid, kqId)
90
+                        .eqIfPresent(CaxxDO :: getYxcf,1)
90 91
         );
91 92
         return caxxList;
92 93
     }

+ 2 - 2
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/mysql/fmxx/FmxxMapper.java

@@ -60,10 +60,10 @@ public interface FmxxMapper extends BaseMapperX<FmxxDO> {
60 60
                         .eqIfPresent(FmxxDO::getBaseKqxxId, kqId)
61 61
         );
62 62
     }
63
-    default List<FmxxDO>  selectListByCaId(List<Long> caIds) {
63
+    default List<FmxxDO>  selectListByCaId(Long caId) {
64 64
         return selectList(
65 65
                 new LambdaQueryWrapperX<FmxxDO>()
66
-                        .inIfPresent(FmxxDO::getBaseCaxxId, caIds)
66
+                        .eqIfPresent(FmxxDO::getBaseCaxxId, caId)
67 67
         );
68 68
      }
69 69
 

+ 2 - 1
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/delivery/DeliveryService.java

@@ -1,5 +1,6 @@
1 1
 package com.unis.module.coding.service.delivery;
2 2
 
3
+import com.unis.framework.common.pojo.CommonResult;
3 4
 import com.unis.module.coding.controller.admin.delivery.vo.CaxxUpdateReqVO;
4 5
 import com.unis.module.coding.controller.admin.delivery.vo.DeliverySaveVO;
5 6
 
@@ -13,5 +14,5 @@ import java.util.Map;
13 14
 public interface DeliveryService {
14 15
     void updateCaxxByIds(CaxxUpdateReqVO updateReqVO);
15 16
 
16
-    Object createByAll(DeliverySaveVO createReqVO);
17
+    CommonResult createByAll(DeliverySaveVO createReqVO);
17 18
 }

+ 121 - 100
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/delivery/DeliveryServiceImpl.java

@@ -3,24 +3,21 @@ package com.unis.module.coding.service.delivery;
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
5 5
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
6
-import com.github.yitter.idgen.YitIdHelper;
6
+import com.unis.framework.common.pojo.CommonResult;
7 7
 import com.unis.framework.common.util.orderNum.OrderNumberUtil;
8 8
 import com.unis.module.coding.controller.admin.caxx.vo.CaxxSaveReqVO;
9 9
 import com.unis.module.coding.controller.admin.cwxx.vo.CwxxSaveReqVO;
10 10
 import com.unis.module.coding.controller.admin.cwxxyear.vo.CwxxYearSaveReqVO;
11 11
 import com.unis.module.coding.controller.admin.delivery.vo.CaxxUpdateReqVO;
12 12
 import com.unis.module.coding.controller.admin.delivery.vo.DeliverySaveVO;
13
+import com.unis.module.coding.controller.admin.kqxx.vo.KqxxSaveReqVO;
13 14
 import com.unis.module.coding.controller.admin.province.vo.ProvinceSaveReqVO;
14
-import com.unis.module.coding.dal.dataobject.cwxx.CwxxDO;
15
-import com.unis.module.coding.dal.dataobject.cwxxyear.CwxxYearDO;
16 15
 import com.unis.module.coding.dal.dataobject.dwxx.DwxxDO;
17 16
 import com.unis.module.coding.dal.dataobject.kqxx.KqxxDO;
18
-import com.unis.module.coding.dal.dataobject.province.ProvinceDO;
19 17
 import com.unis.module.coding.dal.mysql.cwxx.CwxxMapper;
20 18
 import com.unis.module.coding.dal.mysql.cwxxyear.CwxxYearMapper;
21 19
 import com.unis.module.coding.dal.mysql.dwxx.DwxxMapper;
22 20
 import com.unis.module.coding.dal.mysql.kqxx.KqxxMapper;
23
-import com.unis.module.coding.dal.mysql.province.ProvinceMapper;
24 21
 import com.unis.module.coding.service.caxx.CaxxService;
25 22
 import com.unis.module.coding.service.cwxx.CwxxService;
26 23
 import com.unis.module.coding.service.cwxxyear.CwxxYearService;
@@ -32,10 +29,10 @@ import com.unis.module.system.dal.mysql.arealevel.AreaLevelMapper;
32 29
 import lombok.extern.slf4j.Slf4j;
33 30
 import org.springframework.stereotype.Service;
34 31
 import org.springframework.transaction.annotation.Transactional;
35
-
36 32
 import javax.annotation.Resource;
37 33
 import java.util.ArrayList;
38 34
 import java.util.List;
35
+import java.util.stream.Collectors;
39 36
 
40 37
 import static com.unis.framework.common.exception.util.ServiceExceptionUtil.exception;
41 38
 import static com.unis.module.infra.enums.ErrorCodeConstants.ERROR;
@@ -86,11 +83,11 @@ public class DeliveryServiceImpl implements DeliveryService {
86 83
 
87 84
     @Override
88 85
     @Transactional(rollbackFor = Exception.class)
89
-    public Object createByAll(DeliverySaveVO createReqVO) {
86
+    public CommonResult createByAll(DeliverySaveVO createReqVO) {
90 87
         // 单位信息
91 88
         if (ObjectUtils.isNotEmpty(createReqVO.getDwxxReqVO())) {
92 89
             if (ObjectUtils.isEmpty(createReqVO.getDwxxReqVO().getTyxydm())) {
93
-                throw exception(ERROR, "统一信用编码为空");
90
+                CommonResult.error(null, "统一信用编码为空");
94 91
             }
95 92
             //根据统一信用编码----添加之前查询是否已经添加过该单位
96 93
             List<DwxxDO> tyxydm1 = dwxxMapper.selectList(
@@ -98,15 +95,15 @@ public class DeliveryServiceImpl implements DeliveryService {
98 95
                             .eq("TYXYDM", createReqVO.getDwxxReqVO().getTyxydm()));
99 96
 
100 97
             log.info("根据统一信用编码查询单位是否存在,存在数量,({})", tyxydm1.size());
101
-            Long dwxx = null;
98
+            Long dwId;
102 99
 
103 100
             if (CollectionUtils.isEmpty(tyxydm1)) {
104 101
                 createReqVO.getDwxxReqVO().setSjly(0);
105
-                dwxx = dwxxService.createDwxx(createReqVO.getDwxxReqVO());
102
+                dwId = dwxxService.createDwxx(createReqVO.getDwxxReqVO());
106 103
             } else {
107 104
                 log.info("根据统一信用编码查询之前已经添加过该单位({})", tyxydm1.get(0).getId());
108
-                dwxx = tyxydm1.get(0).getId();
109
-                createReqVO.getDwxxReqVO().setId(dwxx);
105
+                dwId = tyxydm1.get(0).getId();
106
+                createReqVO.getDwxxReqVO().setId(dwId);
110 107
                 //是交收库新建的单位就能更新
111 108
                 if (tyxydm1.get(0).getSjly().equals(0)) {
112 109
                     dwxxService.updateDwxx(createReqVO.getDwxxReqVO());
@@ -114,101 +111,125 @@ public class DeliveryServiceImpl implements DeliveryService {
114 111
                     log.info("该单位信息已经存在,并且是从其他方法导入,{}", tyxydm1);
115 112
                 }
116 113
             }
117
-            ///--------库区信息-------------////////////////////////////////////////////////////////
118
-            if (ObjectUtils.isNotEmpty(createReqVO.getKqxxReqVO())) {
119
-                // set 单位id
120
-                createReqVO.getKqxxReqVO().setDwid(dwxx);
121
-                createReqVO.getKqxxReqVO().setShxydm(createReqVO.getDwxxReqVO().getTyxydm());
122
-                /*
123
-                 * 生成库区代码--该单位下有几个库区
124
-                 */
125
-                List<KqxxDO> count = kqxxMapper.selectList(
126
-                        new QueryWrapper<KqxxDO>()
127
-                                .eq("DWID", dwxx)
128
-                                .orderByDesc("CREATE_TIME"));
129
-                String countNum = count.size() == 0 ? "00" : count.get(0).getKqbm();
130
-                //同一单位(DELIVERY_DWXX)下多个库区,生成规则 01 02 ...
131
-                String kqdm = OrderNumberUtil.initNum(2, String.valueOf(countNum));
132
-
133
-                createReqVO.getKqxxReqVO().setKqdm(kqdm);
134
-                // 单位信息社会统一信用编码
135
-                String tyxydm = createReqVO.getDwxxReqVO().getTyxydm();
136
-
137
-                //企业性质
138
-                String qyxz = createReqVO.getDwxxReqVO().getQyxz();
139
-                //库区编码
140
-                List kqbmlist = new ArrayList();
141
-                kqbmlist.add(qyxz);//企业性质
142
-                kqbmlist.add(tyxydm);//统一信用编码
143
-                kqbmlist.add(kqdm);//库区代码
144
-                String kqbm = OrderNumberUtil.generateCode(kqbmlist);
145
-                log.info("获取库区编码({})", kqbm);
146
-
147
-                createReqVO.getKqxxReqVO().setKqbm(kqbm);
148
-                //所属法人企业(单位名称)
149
-                createReqVO.getKqxxReqVO().setSsfrqy(createReqVO.getDwxxReqVO().getDwmc());
150
-                //省市县编码获取
151
-                if (ObjectUtils.isNotEmpty(createReqVO.getKqxxReqVO().getSheng())) {
152
-                    AreaLevelDO sheng = areaLevelMapper.selectListByAreaCode(createReqVO.getKqxxReqVO().getSheng());
153
-                    log.info("获取省市县编码对应的地址({})", sheng.getAreaName());
154
-                    createReqVO.getKqxxReqVO().setShengName(sheng.getAreaName());
155
-                }
156
-                if (ObjectUtils.isNotEmpty(createReqVO.getKqxxReqVO().getShi())) {
157
-                    AreaLevelDO shi = areaLevelMapper.selectListByAreaCode(createReqVO.getKqxxReqVO().getShi());
158
-                    log.info("获取省市县编码对应的地址({})", shi.getAreaName());
159
-                    createReqVO.getKqxxReqVO().setShiName(shi.getAreaName());
160
-                }
161
-                if (ObjectUtils.isNotEmpty(createReqVO.getKqxxReqVO().getXian())) {
162
-                    AreaLevelDO xian = areaLevelMapper.selectListByAreaCode(createReqVO.getKqxxReqVO().getXian());
163
-                    log.info("获取省市县编码对应的地址({})", xian.getAreaName());
164
-                    createReqVO.getKqxxReqVO().setXianName(xian.getAreaName());
165
-                }
166
-                Long kqxx = kqxxService.createKqxx(createReqVO.getKqxxReqVO());
167
-                // -------仓房信息---------------
168
-                if (CollectionUtils.isNotEmpty(createReqVO.getCaxxReqVOList())) {
114
+
115
+            //库区信息
116
+            if (ObjectUtils.isNotEmpty(createReqVO.getKqxxReqVOList())) {
117
+                for (KqxxSaveReqVO kqxxSaveReqVO : createReqVO.getKqxxReqVOList()) {
118
+
119
+                    // set 单位id
120
+                    kqxxSaveReqVO.setDwid(dwId);
121
+                    kqxxSaveReqVO.setShxydm(createReqVO.getDwxxReqVO().getTyxydm());
122
+                    /*
123
+                     * 生成库区代码--该单位下有几个库区
124
+                     */
125
+                    List<KqxxDO> count = kqxxMapper.selectList(
126
+                            new QueryWrapper<KqxxDO>()
127
+                                    .eq("DWID", dwId)
128
+                                    .orderByDesc("CREATE_TIME"));
129
+                    String countNum = count.isEmpty() ? "00" : count.get(0).getKqbm();
130
+                    //同一单位(DELIVERY_DWXX)下多个库区,生成规则 01 02 ...
131
+                    String kqdm = OrderNumberUtil.initNum(2, String.valueOf(countNum));
132
+
133
+                    kqxxSaveReqVO.setKqdm(kqdm);
134
+                    // 单位信息社会统一信用编码
135
+                    String tyxydm = createReqVO.getDwxxReqVO().getTyxydm();
136
+
137
+                    //企业性质
138
+                    String qyxz = createReqVO.getDwxxReqVO().getQyxz();
169 139
                     //库区编码
170
-                    String finalKqbm = kqbm;
171
-                    createReqVO.getCaxxReqVOList().forEach(caxx -> {
172
-                        caxx.setYxcf(1);
173
-                        caxx.setKqid(kqxx);
174
-                        caxx.setKqmc(createReqVO.getKqxxReqVO().getKqmc());
175
-                        //仓房代码生成
176
-                        List cfdnlist = new ArrayList();
177
-                        cfdnlist.add(finalKqbm);//统一信用编码
178
-                        cfdnlist.add(caxx.getCfbm());//库区代码
179
-                        String cfdn = OrderNumberUtil.generateCode(cfdnlist);
180
-                        caxx.setCfdm(cfdn);
181
-                        Long caId = caxxService.createCaxx(caxx);
182
-                        log.info("仓房({})的仓房编码为({})", cfdn);
183
-                        //创建省已经选的----备选看的是
184
-                        ProvinceSaveReqVO saveReqVO = new ProvinceSaveReqVO();
185
-//                        saveReqVO.setId(YitIdHelper.nextId());
186
-                        saveReqVO.setKqId(kqxx);
187
-                        saveReqVO.setCaId(caId);
188
-                        saveReqVO.setHyState(0);
189
-                        provinceService.createProvince(saveReqVO);
190
-
191
-                    });
192
-                }
193
-                // --财务信息--------------------
194
-                CwxxSaveReqVO cwxxReqVO = createReqVO.getCwxxReqVO();
195
-                if (ObjectUtils.isNotEmpty(cwxxReqVO)) {
196
-                    cwxxReqVO.setKqid(kqxx);
197
-                    cwxxReqVO.setDeptId(dwxx);
198
-                    Long cwxx = cwxxService.createCwxx(cwxxReqVO);
199
-                    // ---财年信息-------------
200
-                    if (CollectionUtils.isNotEmpty(cwxxReqVO.getCwxxYearList())) {
201
-                        for (CwxxYearSaveReqVO cwxxYear : cwxxReqVO.getCwxxYearList()) {
202
-                            cwxxYear.setCwxxId(cwxx);
203
-                            cwxxYearService.createCwxxYear(cwxxYear);
204
-                        }
140
+                    List<String> kqbmlist = new ArrayList<>();
141
+                    kqbmlist.add(qyxz);//企业性质
142
+                    kqbmlist.add(tyxydm);//统一信用编码
143
+                    kqbmlist.add(kqdm);//库区代码
144
+                    String kqbm = OrderNumberUtil.generateCode(kqbmlist);
145
+                    log.info("获取库区编码({})", kqbm);
205 146
 
147
+                    kqxxSaveReqVO.setKqbm(kqbm);
148
+                    //所属法人企业(单位名称)
149
+                    kqxxSaveReqVO.setSsfrqy(createReqVO.getDwxxReqVO().getDwmc());
150
+                    //省市县编码获取
151
+                    if (ObjectUtils.isNotEmpty(kqxxSaveReqVO.getSheng())) {
152
+                        AreaLevelDO sheng = areaLevelMapper.selectListByAreaCode(kqxxSaveReqVO.getSheng());
153
+                        log.info("获取省市县编码对应的地址({})", sheng.getAreaName());
154
+                        kqxxSaveReqVO.setShengName(sheng.getAreaName());
155
+                    }
156
+                    if (ObjectUtils.isNotEmpty(kqxxSaveReqVO.getShi())) {
157
+                        AreaLevelDO shi = areaLevelMapper.selectListByAreaCode(kqxxSaveReqVO.getShi());
158
+                        log.info("获取省市县编码对应的地址({})", shi.getAreaName());
159
+                        kqxxSaveReqVO.setShiName(shi.getAreaName());
160
+                    }
161
+                    if (ObjectUtils.isNotEmpty(kqxxSaveReqVO.getXian())) {
162
+                        AreaLevelDO xian = areaLevelMapper.selectListByAreaCode(kqxxSaveReqVO.getXian());
163
+                        log.info("获取省市县编码对应的地址({})", xian.getAreaName());
164
+                        kqxxSaveReqVO.setXianName(xian.getAreaName());
165
+                    }
166
+
167
+                    Long kqId;
168
+                    if (kqxxSaveReqVO.getId() != null) {
169
+                         kqId = kqxxSaveReqVO.getId();
170
+                        kqxxService.updateKqxx(kqxxSaveReqVO);
171
+                    }else {
172
+                        kqId = kqxxService.createKqxx(kqxxSaveReqVO);
173
+                    }
174
+
175
+                    //仓房信息
176
+                    if (CollectionUtils.isNotEmpty(createReqVO.getCaxxReqVOList())) {
177
+                        List<CaxxSaveReqVO> caxxReqVOList = createReqVO.getCaxxReqVOList().stream()
178
+                                .filter(caxx -> caxx.getKqmc() != null && caxx.getKqmc().equals(kqxxSaveReqVO.getKqmc()))
179
+                                .collect(Collectors.toList());
180
+                        //库区编码
181
+                        caxxReqVOList.forEach(caxx -> {
182
+                            caxx.setKqid(kqId);
183
+                            caxx.setKqmc(kqxxSaveReqVO.getKqmc());
184
+                            //仓房代码生成
185
+                            List<String> cfdnlist = new ArrayList<>();
186
+                            cfdnlist.add(kqbm);//统一信用编码
187
+                            cfdnlist.add(caxx.getCfbm());//库区代码
188
+                            String cfdn = OrderNumberUtil.generateCode(cfdnlist);
189
+                            log.info("仓房({})的仓房编码为({})",caxx.getCfmc(), cfdn);
190
+                            caxx.setCfdm(cfdn);
191
+
192
+                            if (caxx.getId() != null) {
193
+                                caxxService.updateCaxx(caxx);
194
+                            }else {
195
+                                caxxService.createCaxx(caxx);
196
+                            }
197
+                        });
198
+                    }
199
+
200
+                    //财务信息
201
+                    if (CollectionUtils.isNotEmpty(createReqVO.getCwxxReqVOList())) {
202
+                        CwxxSaveReqVO cwxxReqVO = createReqVO.getCwxxReqVOList().stream()
203
+                                .filter(cwxx -> cwxx.getKqmc() != null && cwxx.getKqmc().equals(kqxxSaveReqVO.getKqmc()))
204
+                                .collect(Collectors.toList()).get(0);
205
+                        if (ObjectUtils.isNotEmpty(cwxxReqVO)) {
206
+                            cwxxReqVO.setKqid(kqId);
207
+                            cwxxReqVO.setDeptId(dwId);
208
+                            Long cwId;
209
+                            if (cwxxReqVO.getId() != null) {
210
+                                cwId = cwxxReqVO.getId();
211
+                                cwxxService.updateCwxx(cwxxReqVO);
212
+                            }else {
213
+                                cwId = cwxxService.createCwxx(cwxxReqVO);
214
+                            }
215
+                            // ---财年信息-------------
216
+                            if (CollectionUtils.isNotEmpty(cwxxReqVO.getCwxxYearList())) {
217
+                                for (CwxxYearSaveReqVO cwxxYear : cwxxReqVO.getCwxxYearList()) {
218
+                                    cwxxYear.setCwxxId(cwId);
219
+                                    if (cwxxYear.getId() != null) {
220
+                                        cwxxYearService.updateCwxxYear(cwxxYear);
221
+                                    }else {
222
+                                        cwxxYearService.createCwxxYear(cwxxYear);
223
+                                    }
224
+                                }
225
+                            }
226
+                        }
206 227
                     }
207 228
                 }
208 229
             }
209 230
         }
210 231
         // 交通运输情况
211
-        return null;
232
+        return CommonResult.success("新增成功");
212 233
     }
213 234
 
214 235
 }

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

@@ -838,31 +838,40 @@ public class DwxxServiceImpl implements DwxxService {
838 838
                 dwxxMapper.insert(dwxxDO);
839 839
             }
840 840
         }
841
-        if (!ObjectUtils.isEmpty(updateReqVO.getIds())) {
842
-            List<CodingCaxxDO> codingCaxxDOS = codingCaxxMapper.selectList(CodingCaxxDO::getId, updateReqVO.getIds());
843
-            if (ObjectUtils.isEmpty(codingCaxxDOS)) {
844
-                throw exception(ERROR, "所选仓房信息不存在!");
845
-            }
846
-            List<FmxxDO> fmxxDOS = fmxxMapper.selectListByCaId(updateReqVO.getIds());
847
-            if (ObjectUtils.isEmpty(fmxxDOS)) {
848
-                throw exception(ERROR, "当前所选仓房的赋码信息不存在");
849
-            }
850
-            Map<Long, String> dmMap = fmxxDOS.stream().filter(s -> s.getBaseCaxxId() != null).collect(Collectors.toMap(FmxxDO::getBaseCaxxId, FmxxDO::getCfdm, (x, y) -> x));
851
-            List<CaxxDO> caxxDOSExist = caxxMapper.selectListByKqId(updateReqVO.getKqId());
852
-            List<CaxxDO> caxxDOS = BeanUtils.toBean(codingCaxxDOS, CaxxDO.class);
853
-            if (!ObjectUtils.isEmpty(caxxDOS)) {
854
-                if (!ObjectUtils.isEmpty(caxxDOSExist)) {
855
-                    List<Long> idsExist = caxxDOSExist.stream().map(CaxxDO::getId).collect(Collectors.toList());
856
-                    caxxDOS.removeIf(caxxDO -> idsExist.contains(caxxDO.getId()));
857
-                }
858
-                if (!ObjectUtils.isEmpty(caxxDOS)) {
859
-                    caxxDOS.stream().forEach(s -> {
860
-                        s.setSjly(1);
861
-                        s.setYxcf(1);
862
-                        String caDm = dmMap.get(s.getId());
863
-                        s.setCfdm(caDm);
864
-                    });
865
-                    caxxMapper.insertBatch(caxxDOS);
841
+        if (updateReqVO.getStoreRespVOList() != null) {
842
+            for (StoreRespVO storeRespVO : updateReqVO.getStoreRespVOList()) {
843
+                if (storeRespVO.getSjly() == 0) {
844
+                    CaxxDO caxxDO = new CaxxDO();
845
+                    caxxDO.setId(storeRespVO.getId());
846
+                    caxxDO.setYxcf(1);
847
+                    caxxMapper.updateById(caxxDO);
848
+                }else {
849
+                    List<CodingCaxxDO> codingCaxxDOS = codingCaxxMapper.selectList(CodingCaxxDO::getId, storeRespVO.getId());
850
+                    if (ObjectUtils.isEmpty(codingCaxxDOS)) {
851
+                        throw exception(ERROR, "所选仓房信息不存在!");
852
+                    }
853
+                    List<FmxxDO> fmxxDOS = fmxxMapper.selectListByCaId(storeRespVO.getId());
854
+                    if (ObjectUtils.isEmpty(fmxxDOS)) {
855
+                        throw exception(ERROR, "当前所选仓房的赋码信息不存在");
856
+                    }
857
+                    Map<Long, String> dmMap = fmxxDOS.stream().filter(s -> s.getBaseCaxxId() != null).collect(Collectors.toMap(FmxxDO::getBaseCaxxId, FmxxDO::getCfdm, (x, y) -> x));
858
+                    List<CaxxDO> caxxDOSExist = caxxMapper.selectListByKqId(updateReqVO.getKqId());
859
+                    List<CaxxDO> caxxDOS = BeanUtils.toBean(codingCaxxDOS, CaxxDO.class);
860
+                    if (!ObjectUtils.isEmpty(caxxDOS)) {
861
+                        if (!ObjectUtils.isEmpty(caxxDOSExist)) {
862
+                            List<Long> idsExist = caxxDOSExist.stream().map(CaxxDO::getId).collect(Collectors.toList());
863
+                            caxxDOS.removeIf(caxxDO -> idsExist.contains(caxxDO.getId()));
864
+                        }
865
+                        if (!ObjectUtils.isEmpty(caxxDOS)) {
866
+                            caxxDOS.forEach(s -> {
867
+                                s.setSjly(1);
868
+                                s.setYxcf(1);
869
+                                String caDm = dmMap.get(s.getId());
870
+                                s.setCfdm(caDm);
871
+                            });
872
+                            caxxMapper.insertBatch(caxxDOS);
873
+                        }
874
+                    }
866 875
                 }
867 876
             }
868 877
         }

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

@@ -24,7 +24,7 @@
24 24
                         KQID,
25 25
                         count(id) yxcfnum
26 26
                 from DELIVERY_CAXX
27
-                where deleted=0
27
+                where deleted=0 and yxcf = 1
28 28
                 group by  KQID
29 29
                 having  count(id)>0
30 30
         ) t1 on t1.KQID=ck.id

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

@@ -420,6 +420,7 @@
420 420
                 cc.cfmc,
421 421
                 cc.CAZT,
422 422
                 cc.CFLX,
423
+                10 sjly,
423 424
                 TRUNC(cc.SJCR)  sjcr
424 425
         from  CODING_CAXX cc
425 426
         join CODING_FMXX cf on cc.id=cf.BASE_CAXX_ID
@@ -443,7 +444,35 @@
443 444
                         and cc.SJCR <![CDATA[>=]]>  #{pageReqVO.cfStart}
444 445
             </if>
445 446
         </where>
446
-        order by cc.KQID desc
447
+        UNION ALL
448
+        select
449
+        cf.ID ,
450
+        cf.KQMC,
451
+        cf.CAMC,
452
+        cf.cfmc,
453
+        cf.CAZT,
454
+        cf.CFLX,
455
+        cf.sjly,
456
+        TRUNC(cf.SJCR)  sjcr
457
+        from  DELIVERY_CAXX cf
458
+        <where>
459
+            and cf.KQID=#{pageReqVO.kqId} and cf.sjly = 0
460
+            <if test="pageReqVO.cflx!=null and pageReqVO.cflx!=''">
461
+                and cf.CFLX=#{pageReqVO.cflx}
462
+            </if>
463
+            <if test="pageReqVO.cfzt!=null and pageReqVO.cfzt!=''">
464
+                and cf.CAZT=#{pageReqVO.cfzt}
465
+            </if>
466
+            <if test="pageReqVO.cfStart!=null and pageReqVO.cfStart!='' and pageReqVO.cfEnd!=null and pageReqVO.cfEnd!=''">
467
+                and cf.SJCR between #{pageReqVO.cfStart} and #{pageReqVO.cfEnd}
468
+            </if>
469
+            <if test="(pageReqVO.cfStart == null or pageReqVO.cfStart == '') and pageReqVO.cfEnd != null and pageReqVO.cfEnd != ''">
470
+                and cf.SJCR <![CDATA[<=]]>  #{pageReqVO.cfEnd}
471
+            </if>
472
+            <if test=" pageReqVO.cfStart!=null and pageReqVO.cfStart!='' and (pageReqVO.cfEnd == null or pageReqVO.cfEnd == '') ">
473
+                and cf.SJCR <![CDATA[>=]]>  #{pageReqVO.cfStart}
474
+            </if>
475
+        </where>
447 476
     </select>
448 477
 
449 478
 <delete id="deleteByDwId" >
@@ -481,10 +510,31 @@
481 510
             kq.wtbgckj,
482 511
             kq.JD,
483 512
             kq.WD,
484
-            kq.RESID
513
+            kq.RESID,
514
+            cf.id cfId,
515
+            cf.CFMC,
516
+            cf.CFLX,
517
+            cf.CFBM,
518
+            cf.CAZT,
519
+            cf.SJCR,
520
+            cf.QTCXSM,
521
+            cf.KHMC,
522
+            cf.KHLXDH,
523
+            cf.KHBH,
524
+            cw.ID cwId,
525
+            cw.SFGYKG,
526
+            cw.SYNDZZC,
527
+            cwy.ID cwyId,
528
+            cwy.CN,
529
+            cwy.ZFZ,
530
+            cwy.YYSR,
531
+            cwy.JLR
485 532
         from
486 533
             DELIVERY_DWXX dw
487
-                LEFT JOIN DELIVERY_KQXX kq on kq.DWID = dw.ID
534
+        LEFT JOIN DELIVERY_KQXX kq on kq.DWID = dw.ID
535
+        LEFT JOIN DELIVERY_CAXX cf ON cf.KQID = kq.id
536
+        LEFT JOIN DELIVERY_CWXX cw ON cw.KQID = kq.id
537
+        LEFT JOIN DELIVERY_CWXX_YEAR cwy ON cwy.CWXX_ID = cw.id
488 538
         WHERE dw.tyxydm = #{tyxydm}
489 539
     </select>
490 540
 
@@ -522,6 +572,32 @@
522 572
             <result property="wd" column="wd"/>
523 573
             <result property="resid" column="resid"/>
524 574
         </collection>
575
+        <collection property="cfList" ofType="com.unis.module.coding.controller.admin.dwxx.vo.DwAndKqRespVO$Cf">
576
+            <id property="cfId" column="cfId"/>
577
+            <result property="kqmc" column="kqmc"/>
578
+            <result property="cfmc" column="cfmc"/>
579
+            <result property="cflx" column="cflx"/>
580
+            <result property="cfbm" column="cfbm"/>
581
+            <result property="cazt" column="cazt"/>
582
+            <result property="sjcr" column="sjcr"/>
583
+            <result property="qtcxsm" column="qtcxsm"/>
584
+            <result property="khmc" column="khmc"/>
585
+            <result property="khlxdh" column="khlxdh"/>
586
+            <result property="khbh" column="khbh"/>
587
+        </collection>
588
+        <collection property="cwList" ofType="com.unis.module.coding.controller.admin.dwxx.vo.DwAndKqRespVO$Cw">
589
+            <id property="cwId" column="cwId"/>
590
+            <result property="kqmc" column="kqmc"/>
591
+            <result property="sfgykg" column="sfgykg"/>
592
+            <result property="syndzzc" column="syndzzc"/>
593
+            <collection property="cwyList" ofType="com.unis.module.coding.controller.admin.dwxx.vo.DwAndKqRespVO$Cw$Cwy">
594
+                <id property="cwyId" column="cwyId"/>
595
+                <result property="cn" column="SFGYKG"/>
596
+                <result property="zfz" column="zfz"/>
597
+                <result property="yysr" column="yysr"/>
598
+                <result property="jlr" column="jlr"/>
599
+            </collection>
600
+        </collection>
525 601
     </resultMap>
526 602
 
527 603
 </mapper>