xinyb
2022-06-21 b481f8c8b92930c72b5cc7106b5b4b8aa1b64ba8
提交 | 用户 | 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 }