|
@@ -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
|
}
|