提交 | 用户 | age
|
bdf81b
|
1 |
package com.yc.MaintenanceFee.controller; |
X |
2 |
|
1e0503
|
3 |
import com.yc.MaintenanceFee.entiy.*; |
7ddb62
|
4 |
import com.yc.MaintenanceFee.entiy.Collection; |
bdf81b
|
5 |
import com.yc.MaintenanceFee.service.InvoiceService; |
X |
6 |
import com.yc.MaintenanceFee.utils.BackMsg; |
3453fe
|
7 |
import com.yc.entity.DataSourceEntity; |
X |
8 |
import com.yc.multiData.MultiDataSource; |
bdf81b
|
9 |
import com.yc.multiData.SpObserver; |
7ddb62
|
10 |
import com.yc.sdk.shopping.util.SettingKey; |
X |
11 |
import com.yc.utils.SessionKey; |
bdf81b
|
12 |
import org.apache.commons.lang3.StringUtils; |
a66342
|
13 |
import org.commontemplate.util.MapSupport; |
bdf81b
|
14 |
import org.springframework.beans.factory.annotation.Autowired; |
X |
15 |
import org.springframework.web.bind.annotation.*; |
|
16 |
|
|
17 |
import javax.servlet.http.HttpServletRequest; |
|
18 |
import javax.servlet.http.HttpServletResponse; |
|
19 |
import javax.servlet.http.HttpSession; |
1e0503
|
20 |
import java.text.SimpleDateFormat; |
7ddb62
|
21 |
import java.util.*; |
a4cd95
|
22 |
import java.util.regex.Pattern; |
bdf81b
|
23 |
|
X |
24 |
/** |
|
25 |
* 发票操作 |
|
26 |
* |
|
27 |
* @USER: xinyb_ |
|
28 |
* @DATE: 2022-03-07 09:13 |
|
29 |
*/ |
|
30 |
@RestController |
|
31 |
@RequestMapping("/invoice") |
da667f
|
32 |
@CrossOrigin |
bdf81b
|
33 |
public class InvoiceController { |
X |
34 |
private static final String DBID = "_338"; |
7ddb62
|
35 |
|
bdf81b
|
36 |
@Autowired |
X |
37 |
InvoiceService invoiceService; |
|
38 |
|
|
39 |
/** |
|
40 |
* 获取已经在收款单生成发票单的信息(获取发票单) |
|
41 |
* |
|
42 |
* @param request |
|
43 |
* @return |
|
44 |
*/ |
|
45 |
@RequestMapping("/getInvoiceInfo.do") |
|
46 |
@ResponseBody |
7ddb62
|
47 |
public BackMsg getInvoiceInfo(String startDate, String endDate, String docCode, Integer page, Integer limit, HttpServletRequest request, HttpServletResponse response) { |
1e0503
|
48 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
da667f
|
49 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
50 |
BackMsg msg = new BackMsg(); |
7ddb62
|
51 |
List<InvoiceInfo> invoiceInfo = null; |
bdf81b
|
52 |
try { |
1e0503
|
53 |
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); |
X |
54 |
if (!StringUtils.isBlank(startDate)) { |
|
55 |
Date d1 = sdf1.parse(startDate); |
|
56 |
startDate = sdf1.format(d1); |
|
57 |
} |
|
58 |
if (!StringUtils.isBlank(endDate)) { |
|
59 |
Date d2 = sdf1.parse(endDate); |
|
60 |
endDate = sdf1.format(d2); |
|
61 |
} |
bdf81b
|
62 |
SpObserver.setDBtoInstance(DBID); |
X |
63 |
HttpSession session = request.getSession(); |
7ddb62
|
64 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
bdf81b
|
65 |
//获取发票信息 |
7ddb62
|
66 |
invoiceInfo = invoiceService.getInvoiceInfo(startDate, endDate, docCode, dbId); |
X |
67 |
Integer count = 0; |
|
68 |
if (invoiceInfo == null || invoiceInfo.size() == 0) { |
|
69 |
invoiceInfo = new ArrayList<>(); |
|
70 |
} else { |
|
71 |
count = invoiceInfo.size(); |
|
72 |
Integer lim = page * limit >= count ? count : page * limit; |
|
73 |
invoiceInfo = invoiceInfo.subList((page - 1) * limit, lim); |
|
74 |
} |
|
75 |
msg.setPageData(invoiceInfo, count); |
bdf81b
|
76 |
} catch (Exception e) { |
X |
77 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
78 |
} finally { |
|
79 |
SpObserver.setDBtoInstance(); |
|
80 |
} |
|
81 |
return msg; |
|
82 |
} |
|
83 |
|
|
84 |
/** |
|
85 |
* 获取指定发票单号信息 |
|
86 |
* |
|
87 |
* @param docCode |
|
88 |
* @param request |
|
89 |
* @return |
|
90 |
*/ |
|
91 |
@RequestMapping(value = "/getInvoice.do", method = RequestMethod.GET) |
1e0503
|
92 |
public BackMsg getInvoice(String docCode, HttpServletRequest request, HttpServletResponse response) { |
X |
93 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
94 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
95 |
BackMsg msg = new BackMsg(); |
X |
96 |
try { |
|
97 |
if (StringUtils.isBlank(docCode)) { |
|
98 |
msg.setError("发票单号不能为空值并且不能是null值"); |
|
99 |
return msg; |
|
100 |
} |
|
101 |
SpObserver.setDBtoInstance(DBID); |
|
102 |
//获取发票信息 |
|
103 |
InvoiceInfo invoiceInfo = invoiceService.getInvoice(docCode); |
|
104 |
msg.setOk(invoiceInfo); |
|
105 |
} catch (Exception e) { |
|
106 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
107 |
} finally { |
|
108 |
SpObserver.setDBtoInstance(); |
|
109 |
} |
|
110 |
return msg; |
|
111 |
} |
|
112 |
|
|
113 |
/** |
1e0503
|
114 |
* 收款列表 |
X |
115 |
* |
|
116 |
* @param startDate |
|
117 |
* @param endDate |
|
118 |
* @param docCode |
|
119 |
* @param request |
|
120 |
* @param response |
|
121 |
* @return |
|
122 |
*/ |
|
123 |
@RequestMapping(value = "/collection.do", method = RequestMethod.GET) |
7ddb62
|
124 |
public BackMsg getCollection(String startDate, String endDate, String docCode, Integer page, Integer limit, HttpServletRequest request, HttpServletResponse response) { |
1e0503
|
125 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
X |
126 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
127 |
BackMsg msg = new BackMsg(); |
7ddb62
|
128 |
List<Collection> collections = null; |
1e0503
|
129 |
try { |
X |
130 |
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); |
|
131 |
if (!StringUtils.isBlank(startDate)) { |
|
132 |
Date d1 = sdf1.parse(startDate); |
|
133 |
startDate = sdf1.format(d1); |
|
134 |
} |
|
135 |
if (!StringUtils.isBlank(endDate)) { |
|
136 |
Date d2 = sdf1.parse(endDate); |
|
137 |
endDate = sdf1.format(d2); |
|
138 |
} |
|
139 |
SpObserver.setDBtoInstance(DBID); |
|
140 |
HttpSession session = request.getSession(); |
7ddb62
|
141 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
X |
142 |
collections = invoiceService.getCollection(startDate, endDate, docCode, dbId); |
|
143 |
int count = 0; |
|
144 |
if (collections == null || collections.size() == 0) { |
|
145 |
collections = new ArrayList<>(); |
|
146 |
} else { |
|
147 |
count = collections.size(); |
|
148 |
Integer lim = page * limit >= count ? count : page * limit; |
|
149 |
collections = collections.subList((page - 1) * limit, lim); |
|
150 |
} |
|
151 |
msg.setPageData(collections, count); |
1e0503
|
152 |
} catch (Exception e) { |
X |
153 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
154 |
} finally { |
|
155 |
SpObserver.setDBtoInstance(); |
|
156 |
} |
|
157 |
return msg; |
|
158 |
} |
|
159 |
|
|
160 |
/** |
bdf81b
|
161 |
* 收款单合并生成发票单(创建发票单) |
X |
162 |
* |
3453fe
|
163 |
* @param param |
bdf81b
|
164 |
* @param request |
1e0503
|
165 |
* @param response |
bdf81b
|
166 |
* @return |
X |
167 |
*/ |
|
168 |
@RequestMapping(value = "/createInvoice.do", method = RequestMethod.POST) |
3453fe
|
169 |
public BackMsg createInvoice(@RequestBody FPParam param, |
1e0503
|
170 |
HttpServletRequest request, HttpServletResponse response) { |
X |
171 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
172 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
173 |
BackMsg msg = new BackMsg(); |
X |
174 |
try { |
3453fe
|
175 |
if (param.getDocCode() == null || param.getDocCode().size() == 0) { |
bdf81b
|
176 |
msg.setError("消费数据单号不能为空,请选择开票消费数据"); |
X |
177 |
return msg; |
|
178 |
} |
3453fe
|
179 |
if (StringUtils.isBlank(param.getInvoiceMedium())) { |
1e0503
|
180 |
msg.setError("请选择发票介质"); |
X |
181 |
return msg; |
|
182 |
} |
7ddb62
|
183 |
if ("PaperInvoice".equals(param.getInvoiceMedium()) && (param.getSeq() == null || param.getSeq() == 0)) { |
X |
184 |
msg.setError("请选择收件地址"); |
|
185 |
return msg; |
|
186 |
} |
a4cd95
|
187 |
if(StringUtils.isNotBlank(param.getTel2())){//判断电话号是否正确 |
X |
188 |
Pattern pattern = Pattern.compile("^1[3|4|5|7|8][0-9]{9}$"); |
|
189 |
if (!pattern.matcher(param.getTel2()).matches()){ |
|
190 |
msg.setError("请输入正确的收票电话号"); |
|
191 |
} |
|
192 |
} |
|
193 |
if(StringUtils.isNotBlank(param.getEmail())){//判断邮箱号是否正确 |
|
194 |
Pattern pattern = Pattern.compile("^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"); |
|
195 |
if (!pattern.matcher(param.getEmail()).matches()){ |
|
196 |
msg.setError("请输入正确的收票邮箱"); |
|
197 |
} |
|
198 |
} |
3453fe
|
199 |
param.setSeq(param.getSeq() == null ? 0 : param.getSeq()); |
bdf81b
|
200 |
HttpSession session = request.getSession(); |
7ddb62
|
201 |
param.setUserCode((String) session.getAttribute(SessionKey.USERCODE)); |
X |
202 |
param.setUserName((String) session.getAttribute(SessionKey.USERNAME)); |
bdf81b
|
203 |
SpObserver.setDBtoInstance(DBID); |
b481f8
|
204 |
String fpCode = invoiceService.createInvoice(param); |
bdf81b
|
205 |
if (StringUtils.isBlank(fpCode)) { |
X |
206 |
msg.setError("创建发票单失败!"); |
|
207 |
} else { |
|
208 |
String[] fp = fpCode.split(";"); |
|
209 |
Map<String, Object> map = new HashMap<>(); |
|
210 |
if (fp.length == 3) { |
|
211 |
map.put("formId", fp[0]); |
|
212 |
map.put("formType", fp[1]); |
|
213 |
map.put("docCode", fp[2]); |
|
214 |
} else { |
|
215 |
map.put("docCode", fpCode); |
|
216 |
} |
|
217 |
msg.setOk(map); |
|
218 |
} |
|
219 |
return msg; |
|
220 |
} catch (Exception e) { |
|
221 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
222 |
} finally { |
|
223 |
SpObserver.setDBtoInstance(); |
|
224 |
} |
|
225 |
return msg; |
|
226 |
} |
|
227 |
|
|
228 |
/** |
|
229 |
* 获取发票抬头信息 |
|
230 |
* |
|
231 |
* @param request |
|
232 |
* @return |
|
233 |
*/ |
|
234 |
@RequestMapping("/getInvoiceHeader.do") |
1e0503
|
235 |
public BackMsg getInvoiceHeader(HttpServletRequest request, HttpServletResponse response) { |
X |
236 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
237 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
238 |
BackMsg msg = new BackMsg(); |
X |
239 |
try { |
|
240 |
HttpSession session = request.getSession(); |
7ddb62
|
241 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
bdf81b
|
242 |
SpObserver.setDBtoInstance(DBID); |
X |
243 |
Map<String, Object> map = invoiceService.getInvoiceHeader(dbId); |
1e0503
|
244 |
if (map.get("invType") == null || "".equals(map.get("invType"))) { |
bdf81b
|
245 |
//没值的情况 |
X |
246 |
map = null; |
a4cd95
|
247 |
}else{ |
X |
248 |
DataSourceEntity dataSourceEntity=MultiDataSource.getDataSourceMap(dbId); |
|
249 |
//获取系统设置的开票单位(收取维护费的公司) |
|
250 |
map.put("billingCompany",dataSourceEntity.getMaintenanceFeeToDbId()); |
bdf81b
|
251 |
} |
X |
252 |
msg.setOk(map); |
|
253 |
} catch (Exception e) { |
|
254 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
255 |
} finally { |
|
256 |
SpObserver.setDBtoInstance(); |
|
257 |
} |
|
258 |
return msg; |
|
259 |
} |
|
260 |
|
|
261 |
/** |
|
262 |
* 编辑发票抬头信息 |
|
263 |
* |
|
264 |
* @param request |
|
265 |
* @return |
|
266 |
*/ |
|
267 |
@RequestMapping(value = "/invoiceHeader.do", method = RequestMethod.POST) |
1e0503
|
268 |
public BackMsg saveInvoiceHeader(@RequestBody Header header, HttpServletRequest request, HttpServletResponse response) { |
X |
269 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
270 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
271 |
BackMsg msg = new BackMsg(); |
X |
272 |
try { |
|
273 |
HttpSession session = request.getSession(); |
7ddb62
|
274 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
bdf81b
|
275 |
SpObserver.setDBtoInstance(DBID); |
X |
276 |
int count = invoiceService.saveInvoiceHeader(header, dbId); |
|
277 |
if (count == 1) { |
|
278 |
msg.setOk(count); |
|
279 |
} else { |
|
280 |
msg.setOk(-1); |
|
281 |
} |
|
282 |
} catch (Exception e) { |
|
283 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
284 |
} finally { |
|
285 |
SpObserver.setDBtoInstance(); |
|
286 |
} |
|
287 |
return msg; |
|
288 |
} |
|
289 |
|
|
290 |
/** |
|
291 |
* 编辑退票信息 |
|
292 |
* |
|
293 |
* @param outTicket |
|
294 |
* @param request |
|
295 |
* @return |
|
296 |
*/ |
|
297 |
@RequestMapping("/saveOutTicket.do") |
1e0503
|
298 |
public BackMsg saveOutTicket(@RequestBody OutTicket outTicket, HttpServletRequest request, HttpServletResponse response) { |
X |
299 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
300 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
301 |
BackMsg msg = new BackMsg(); |
X |
302 |
try { |
3453fe
|
303 |
String error = ""; |
X |
304 |
if (StringUtils.isBlank(outTicket.getReceivingName())) { |
|
305 |
error += "请填写收件人名字。\n"; |
|
306 |
} |
|
307 |
if (StringUtils.isBlank(outTicket.getReceivingTel())) { |
|
308 |
error += "请填写收件人电话。\n"; |
|
309 |
} |
|
310 |
if (StringUtils.isBlank(outTicket.getReceivingAddress())) { |
|
311 |
error += "请填写收件人地址。\n"; |
|
312 |
} |
|
313 |
if (StringUtils.isBlank(outTicket.getReason())) { |
|
314 |
error += "请填写退票原因!\n"; |
|
315 |
} |
51d5ac
|
316 |
if (StringUtils.isBlank(outTicket.getShipperCode())) { |
3453fe
|
317 |
error += "请填写快递公司。\n"; |
X |
318 |
} |
51d5ac
|
319 |
if (StringUtils.isBlank(outTicket.getLogisticsCode())) { |
X |
320 |
error += "请填写物流单号。\n"; |
3453fe
|
321 |
} |
X |
322 |
if (StringUtils.isBlank(outTicket.getHDMemo())) { |
|
323 |
error += "请填写备注。\n"; |
|
324 |
} |
|
325 |
if (StringUtils.isBlank(outTicket.getFpCode())) { |
|
326 |
error += "发票单号不能为空。"; |
|
327 |
} |
081022
|
328 |
if (outTicket.getFormId() == null || outTicket.getFormId() == 0) { |
X |
329 |
outTicket.setFormId(150504); |
|
330 |
} |
3453fe
|
331 |
if (!StringUtils.isBlank(error)) { |
X |
332 |
msg.setError(error); |
|
333 |
return msg; |
|
334 |
} |
bdf81b
|
335 |
HttpSession session = request.getSession(); |
7ddb62
|
336 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
X |
337 |
outTicket.setUserCode((String) session.getAttribute(SessionKey.USERCODE)); |
|
338 |
outTicket.setUserName((String) session.getAttribute(SessionKey.USERNAME)); |
bdf81b
|
339 |
SpObserver.setDBtoInstance(DBID); |
3453fe
|
340 |
String doc = invoiceService.saveOutTicket(outTicket); |
bdf81b
|
341 |
if (!StringUtils.isBlank(doc)) { |
3453fe
|
342 |
String[] fp = doc.split(";"); |
X |
343 |
Map<String, Object> map = new HashMap<>(); |
|
344 |
if (fp.length == 3) { |
|
345 |
map.put("formId", fp[0]); |
|
346 |
map.put("formType", fp[1]); |
|
347 |
map.put("docCode", fp[2]); |
081022
|
348 |
map.put("msg","退票提交成功"); |
3453fe
|
349 |
} else { |
X |
350 |
map.put("docCode", doc); |
|
351 |
} |
|
352 |
msg.setOk(map); |
bdf81b
|
353 |
} else { |
3453fe
|
354 |
msg.setOk("已执行退票过程,但返回值是空值!"); |
bdf81b
|
355 |
} |
X |
356 |
} catch (Exception e) { |
|
357 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
358 |
} finally { |
|
359 |
SpObserver.setDBtoInstance(); |
|
360 |
} |
|
361 |
return msg; |
|
362 |
} |
|
363 |
|
|
364 |
|
|
365 |
/** |
|
366 |
* 获取客户地址信息 |
|
367 |
* |
|
368 |
* @param request |
|
369 |
* @return |
|
370 |
*/ |
|
371 |
@RequestMapping("/getAddress.do") |
1e0503
|
372 |
public BackMsg getAddressInfo(HttpServletRequest request, HttpServletResponse response) { |
X |
373 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
374 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
375 |
BackMsg msg = new BackMsg(); |
7ddb62
|
376 |
List<Map<String, Object>> list = null; |
bdf81b
|
377 |
try { |
X |
378 |
HttpSession session = request.getSession(); |
7ddb62
|
379 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
bdf81b
|
380 |
SpObserver.setDBtoInstance(DBID); |
7ddb62
|
381 |
list = invoiceService.getAddressInfo(dbId); |
X |
382 |
if (list == null) { |
|
383 |
list = new ArrayList<>(); |
|
384 |
} |
bdf81b
|
385 |
msg.setOk(list); |
X |
386 |
} catch (Exception e) { |
|
387 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
388 |
} finally { |
|
389 |
SpObserver.setDBtoInstance(); |
|
390 |
} |
|
391 |
return msg; |
|
392 |
} |
|
393 |
|
da667f
|
394 |
/** |
X |
395 |
* 获取指定的地址信息 |
1e0503
|
396 |
* |
da667f
|
397 |
* @param seq |
X |
398 |
* @param request |
|
399 |
* @return |
|
400 |
*/ |
|
401 |
@RequestMapping("/selectAddress.do") |
1e0503
|
402 |
public BackMsg selectAddress(Integer seq, HttpServletRequest request, HttpServletResponse response) { |
X |
403 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
404 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
da667f
|
405 |
BackMsg msg = new BackMsg(); |
X |
406 |
try { |
1e0503
|
407 |
if (seq == null || seq == 0) { |
da667f
|
408 |
msg.setError("唯一编号不能为空"); |
X |
409 |
return msg; |
|
410 |
} |
|
411 |
HttpSession session = request.getSession(); |
7ddb62
|
412 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
da667f
|
413 |
SpObserver.setDBtoInstance(DBID); |
1e0503
|
414 |
Map<String, Object> map = invoiceService.selectAddress(dbId, seq); |
da667f
|
415 |
msg.setOk(map); |
X |
416 |
} catch (Exception e) { |
|
417 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
418 |
} finally { |
|
419 |
SpObserver.setDBtoInstance(); |
|
420 |
} |
|
421 |
return msg; |
|
422 |
} |
|
423 |
|
bdf81b
|
424 |
|
X |
425 |
/** |
|
426 |
* 编辑地址信息(保存,修改,删除) |
|
427 |
* |
|
428 |
* @param request |
|
429 |
* @return |
|
430 |
*/ |
|
431 |
@RequestMapping("/saveAddress.do") |
1e0503
|
432 |
public BackMsg saveAddress(@RequestBody Address address, HttpServletRequest request, HttpServletResponse response) { |
X |
433 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
434 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
bdf81b
|
435 |
BackMsg msg = new BackMsg(); |
X |
436 |
try { |
|
437 |
if (address.getOperation() == null || address.getOperation() < 0) { |
|
438 |
msg.setError("操作类型错误!"); |
|
439 |
return msg; |
|
440 |
} |
|
441 |
if (address.getSeq() == null && (address.getOperation() == 0 || address.getOperation() == 2)) { |
|
442 |
msg.setError("seq值不能为空!"); |
|
443 |
return msg; |
|
444 |
} |
|
445 |
HttpSession session = request.getSession(); |
7ddb62
|
446 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
bdf81b
|
447 |
SpObserver.setDBtoInstance(DBID); |
X |
448 |
int cont = invoiceService.saveAddress(address, dbId); |
|
449 |
if (cont == 1) { |
|
450 |
msg.setOk(cont); |
|
451 |
} else { |
|
452 |
msg.setOk(-1); |
|
453 |
} |
|
454 |
} catch (Exception e) { |
|
455 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
456 |
} finally { |
|
457 |
SpObserver.setDBtoInstance(); |
|
458 |
} |
|
459 |
return msg; |
|
460 |
} |
|
461 |
|
da667f
|
462 |
/** |
X |
463 |
* 获取区域信息 |
1e0503
|
464 |
* |
da667f
|
465 |
* @param rowId |
X |
466 |
* @param request |
|
467 |
* @return |
|
468 |
*/ |
|
469 |
@RequestMapping("/getRegion.do") |
1e0503
|
470 |
public BackMsg getRegion(String rowId, HttpServletRequest request, HttpServletResponse response) { |
X |
471 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
472 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
da667f
|
473 |
BackMsg msg = new BackMsg(); |
7ddb62
|
474 |
List<Map<String, Object>> list = null; |
da667f
|
475 |
try { |
X |
476 |
SpObserver.setDBtoInstance(DBID); |
7ddb62
|
477 |
list = invoiceService.getRegion(rowId); |
X |
478 |
if (list == null) { |
|
479 |
list = new ArrayList<>(); |
|
480 |
} |
da667f
|
481 |
msg.setOk(list); |
X |
482 |
} catch (Exception e) { |
|
483 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
484 |
} finally { |
|
485 |
SpObserver.setDBtoInstance(); |
|
486 |
} |
|
487 |
return msg; |
|
488 |
} |
3453fe
|
489 |
|
X |
490 |
/** |
|
491 |
* 返回收件人信息 |
|
492 |
* |
|
493 |
* @param request |
|
494 |
* @param response |
|
495 |
* @return |
|
496 |
*/ |
|
497 |
@RequestMapping("/getReceiving.do") |
|
498 |
public BackMsg getReceiving(HttpServletRequest request, HttpServletResponse response) { |
|
499 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
500 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
501 |
BackMsg msg = new BackMsg(); |
|
502 |
try { |
7ddb62
|
503 |
DataSourceEntity dataSourceEntity = MultiDataSource.getDataSourceMap(request); |
3453fe
|
504 |
if (dataSourceEntity.getMaintenanceFeeToDbId() != null) { |
X |
505 |
Map<String, Object> map = new HashMap<>(); |
|
506 |
switch (dataSourceEntity.getMaintenanceFeeToDbId()) { |
|
507 |
case 1624: |
|
508 |
map.put("name", "王先生"); |
7ddb62
|
509 |
map.put("tel", "13827778996"); |
179562
|
510 |
map.put("address", "佛山市禅城区华宝南路13号国家火炬创新创业园C座713室");//"广东省佛山市禅城区张槎街道华宝南路13号国家火炬创新创业园C座713"); |
3453fe
|
511 |
break; |
X |
512 |
case 338: |
7ddb62
|
513 |
map.put("name", "邱先生"); |
X |
514 |
map.put("tel", "15151935628"); |
|
515 |
map.put("address", "江苏省常州市天宁区红梅街道竹林西路天宁时代广场B座1407"); |
3453fe
|
516 |
break; |
X |
517 |
default: |
|
518 |
break; |
|
519 |
} |
|
520 |
msg.setOk(map); |
7ddb62
|
521 |
} else { |
X |
522 |
msg.setError("请在数据源设置选择【收取维护费所属公司】"); |
|
523 |
return msg; |
3453fe
|
524 |
} |
X |
525 |
} catch (Exception e) { |
|
526 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
527 |
} |
|
528 |
return msg; |
|
529 |
} |
|
530 |
|
|
531 |
/** |
|
532 |
* 获取开票总金额 |
|
533 |
* |
|
534 |
* @param request |
|
535 |
* @param response |
|
536 |
* @return |
|
537 |
*/ |
|
538 |
@RequestMapping("/getInvoiceAmount.do") |
|
539 |
public BackMsg getInvoiceAmount(HttpServletRequest request, HttpServletResponse response) { |
|
540 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
541 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
542 |
BackMsg msg = new BackMsg(); |
|
543 |
try { |
|
544 |
HttpSession session = request.getSession(); |
7ddb62
|
545 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
3453fe
|
546 |
SpObserver.setDBtoInstance(DBID); |
7ddb62
|
547 |
double amount = invoiceService.getInvoiceAmount(dbId); |
X |
548 |
if (amount > 0) { |
3453fe
|
549 |
msg.setOk(amount); |
X |
550 |
} else { |
|
551 |
msg.setOk(0); |
|
552 |
} |
|
553 |
} catch (Exception e) { |
|
554 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
555 |
} finally { |
|
556 |
SpObserver.setDBtoInstance(); |
|
557 |
} |
|
558 |
return msg; |
|
559 |
} |
7ddb62
|
560 |
|
X |
561 |
/** |
a66342
|
562 |
* 已经开票后的发票浏览 |
X |
563 |
* |
|
564 |
* @param fpDocCode |
|
565 |
* @param request |
|
566 |
* @param response |
|
567 |
* @return |
|
568 |
*/ |
|
569 |
@RequestMapping("/InvoiceViewData.do") |
|
570 |
public BackMsg getInvoiceViewData(String fpDocCode, HttpServletRequest request, HttpServletResponse response) { |
|
571 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
572 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
573 |
BackMsg msg = new BackMsg(); |
|
574 |
try { |
|
575 |
if (StringUtils.isBlank(fpDocCode)) { |
|
576 |
msg.setError("预览发票单号不能为空。"); |
|
577 |
return msg; |
|
578 |
} |
|
579 |
Map<String, Object> map = new HashMap<>(); |
|
580 |
map.putAll(getView(request)); |
|
581 |
SpObserver.setDBtoInstance(DBID); |
|
582 |
List<Map<String, Object>> list = invoiceService.getInvoiceViewData(fpDocCode); |
|
583 |
if (list != null && list.size() > 0) { |
|
584 |
map.put("data", list); |
|
585 |
} |
|
586 |
msg.setOk(map); |
|
587 |
} catch (Exception e) { |
|
588 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
589 |
} finally { |
|
590 |
SpObserver.setDBtoInstance(); |
|
591 |
} |
|
592 |
return msg; |
|
593 |
} |
|
594 |
|
|
595 |
/** |
|
596 |
* 未生成发票的信息预览 |
7ddb62
|
597 |
* |
X |
598 |
* @param request |
|
599 |
* @param response |
|
600 |
* @return |
|
601 |
*/ |
|
602 |
@RequestMapping(value = "/getInvoiceView.do", method = RequestMethod.POST) |
|
603 |
public BackMsg getInvoiceView(@RequestBody List<String> docCode, HttpServletRequest request, HttpServletResponse response) { |
|
604 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
|
605 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
606 |
BackMsg msg = new BackMsg(); |
|
607 |
try { |
|
608 |
HttpSession session = request.getSession(); |
|
609 |
String dbId = (String) session.getAttribute(SessionKey.DATA_BASE_ID); |
|
610 |
SpObserver.setDBtoInstance(DBID); |
|
611 |
Map<String, Object> map = invoiceService.getInvoiceView(String.join(",", docCode), dbId); |
a66342
|
612 |
map.putAll(getView(request)); |
X |
613 |
// DataSourceEntity dataSourceEntity = MultiDataSource.getDataSourceMap(request); |
|
614 |
// if (dataSourceEntity.getMaintenanceFeeToDbId() != null) { |
|
615 |
// switch (dataSourceEntity.getMaintenanceFeeToDbId()) { |
|
616 |
// case 338: |
|
617 |
// map.put("invoiceName", "江苏增值税专用发票"); |
|
618 |
// map.put("name", "常州市巴士软件有限公司 "); |
|
619 |
// map.put("identification", "91320402063290850X"); |
|
620 |
// map.put("addressTel", "江苏省常州市天宁区关河东路66号1018室 0519-83380880"); |
|
621 |
// map.put("bankNumber", "中国农业银行常州市九洲广场支行 611801040007777"); |
|
622 |
// map.put("seal1", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/jiangsu.png"); |
|
623 |
// map.put("seal2", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/jiangsuSeal.png"); |
|
624 |
// break; |
|
625 |
// case 1624: |
|
626 |
// map.put("invoiceName", "广东增值税普通发票"); |
|
627 |
// map.put("name", "佛山市盈晨软件有限公司 "); |
|
628 |
// map.put("identification", "9144060478577219x6"); |
|
629 |
// map.put("addressTel", "佛山市禅城区华宝南路13号国家火炬创新创业园C座713室 0757-83384330");//"佛山市禅城区季华二路国家火炬创新创业园C栋713室 0757-83384330"); |
|
630 |
// map.put("bankNumber", "工商银行佛山明珠支行 2013020809100005421"); |
|
631 |
// map.put("seal1", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/guangdong.png"); |
|
632 |
// map.put("seal2", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/guangdongSeal.png"); |
|
633 |
// break; |
|
634 |
// default: |
|
635 |
// break; |
|
636 |
// } |
|
637 |
// } else { |
|
638 |
// msg.setError("请在数据源设置【收取维护费所属公司】"); |
|
639 |
// return msg; |
|
640 |
// } |
|
641 |
map.put("uom", "元"); |
|
642 |
map.put("digit", 1); |
|
643 |
map.put("taxRate", "3%"); |
|
644 |
msg.setOk(map); |
|
645 |
} catch (Exception e) { |
|
646 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
647 |
} finally { |
|
648 |
SpObserver.setDBtoInstance(); |
|
649 |
} |
|
650 |
return msg; |
|
651 |
} |
|
652 |
|
|
653 |
private Map<String, Object> getView(HttpServletRequest request) { |
|
654 |
Map<String, Object> map = new HashMap<>(); |
|
655 |
map.put("description", "*信息技术服务*软件维护"); |
|
656 |
try { |
7ddb62
|
657 |
DataSourceEntity dataSourceEntity = MultiDataSource.getDataSourceMap(request); |
X |
658 |
if (dataSourceEntity.getMaintenanceFeeToDbId() != null) { |
|
659 |
switch (dataSourceEntity.getMaintenanceFeeToDbId()) { |
|
660 |
case 338: |
|
661 |
map.put("invoiceName", "江苏增值税专用发票"); |
|
662 |
map.put("name", "常州市巴士软件有限公司 "); |
|
663 |
map.put("identification", "91320402063290850X"); |
|
664 |
map.put("addressTel", "江苏省常州市天宁区关河东路66号1018室 0519-83380880"); |
|
665 |
map.put("bankNumber", "中国农业银行常州市九洲广场支行 611801040007777"); |
|
666 |
map.put("seal1", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/jiangsu.png"); |
|
667 |
map.put("seal2", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/jiangsuSeal.png"); |
|
668 |
break; |
|
669 |
case 1624: |
|
670 |
map.put("invoiceName", "广东增值税普通发票"); |
|
671 |
map.put("name", "佛山市盈晨软件有限公司 "); |
|
672 |
map.put("identification", "9144060478577219x6"); |
179562
|
673 |
map.put("addressTel", "佛山市禅城区华宝南路13号国家火炬创新创业园C座713室 0757-83384330");//"佛山市禅城区季华二路国家火炬创新创业园C栋713室 0757-83384330"); |
7ddb62
|
674 |
map.put("bankNumber", "工商银行佛山明珠支行 2013020809100005421"); |
X |
675 |
map.put("seal1", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/guangdong.png"); |
|
676 |
map.put("seal2", SettingKey.getHostUrl(request) + "/images/seal/" + dataSourceEntity.getMaintenanceFeeToDbId() + "/guangdongSeal.png"); |
|
677 |
break; |
|
678 |
default: |
|
679 |
break; |
|
680 |
} |
|
681 |
} else { |
a66342
|
682 |
throw new Exception("请在数据源设置【收取维护费所属公司】"); |
7ddb62
|
683 |
} |
a66342
|
684 |
return map; |
7ddb62
|
685 |
} catch (Exception e) { |
a66342
|
686 |
return map; |
7ddb62
|
687 |
} |
X |
688 |
} |
9a9585
|
689 |
|
X |
690 |
/** |
|
691 |
* 退票原因列 xin 2022-4-30 11:30:26 |
a66342
|
692 |
* |
9a9585
|
693 |
* @param request |
X |
694 |
* @param response |
|
695 |
* @return |
|
696 |
*/ |
a66342
|
697 |
@RequestMapping(value = "/Reason.do", method = RequestMethod.GET) |
X |
698 |
public BackMsg getReason(HttpServletRequest request, HttpServletResponse response) { |
9a9585
|
699 |
response.setHeader("Access-Control-Allow-Origin", "*"); |
X |
700 |
response.addHeader("Access-Control-Allow-Methods", "*"); |
|
701 |
BackMsg msg = new BackMsg(); |
51d5ac
|
702 |
Map<String, Object> M = new HashMap<>(); |
9a9585
|
703 |
try { |
X |
704 |
SpObserver.setDBtoInstance(DBID); |
a66342
|
705 |
List<Map<String, Object>> map = invoiceService.getReason(); |
51d5ac
|
706 |
M.put("R", map); |
X |
707 |
List<Map<String, Object>> lmap = invoiceService.getShipperCode(); |
|
708 |
M.put("L", lmap); |
|
709 |
msg.setOk(M); |
9a9585
|
710 |
return msg; |
X |
711 |
} catch (Exception e) { |
|
712 |
msg.setError(e.getCause() != null ? e.getCause().getMessage() : e.getMessage()); |
|
713 |
} finally { |
|
714 |
SpObserver.setDBtoInstance(); |
|
715 |
} |
|
716 |
return msg; |
|
717 |
} |
bdf81b
|
718 |
} |