ScheduledBillTask.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.jkcredit.invoice.task;
  2. import com.jkcredit.invoice.mapper.Binvoce.SelfCarApplMapper;
  3. import com.jkcredit.invoice.mapper.customer.CustomerCarRecMapper;
  4. import com.jkcredit.invoice.mapper.waybill.NoCarWaybillMapper;
  5. import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
  6. import com.jkcredit.invoice.model.entity.invoice.SelfCarAppl;
  7. import com.jkcredit.invoice.model.entity.waybill.NoCarWayBill;
  8. import com.jkcredit.invoice.service.lowerService.NoCarService;
  9. import com.jkcredit.invoice.service.lowerService.SelfCarServiceL;
  10. import com.jkcredit.invoice.service.lowerService.vo.SelfCarDueQueryVo;
  11. import com.jkcredit.invoice.service.lowerService.vo.TradeRequestVo;
  12. import com.jkcredit.invoice.util.DateUtil;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.scheduling.annotation.Scheduled;
  16. import org.springframework.stereotype.Component;
  17. import java.text.DateFormat;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. * @description:
  23. * @author: sunzhaoning
  24. * @create: 2019-06-27 16:36
  25. * @version: V1.0
  26. **/
  27. @Component
  28. @Slf4j
  29. public class ScheduledBillTask {
  30. @Autowired
  31. NoCarWaybillMapper noCarWaybillMapper;
  32. @Autowired
  33. SelfCarApplMapper selfCarApplMapper;
  34. @Autowired
  35. NoCarService noCarService;
  36. @Autowired
  37. SelfCarServiceL selfCarService;
  38. @Autowired
  39. CustomerCarRecMapper customerCarRecMapper;
  40. /**
  41. * 实时运单开票(每天23点开始)
  42. */
  43. @Scheduled(cron = "0 0 23 * * ?", zone = "Asia/Shanghai")
  44. public void updateNocarBillInfo() {
  45. try {
  46. delGetInvoce(0);
  47. }catch (Exception e){
  48. e.printStackTrace();
  49. }
  50. }
  51. public void delGetInvoce(Integer historyFlag){
  52. NoCarWayBill carWayBill = new NoCarWayBill();
  53. carWayBill.setHisFlag(historyFlag);
  54. carWayBill.setInterType(1);
  55. carWayBill.setBillwayStatus(2);
  56. List<NoCarWayBill> noCarWayBillsMdEnd = noCarWaybillMapper.selectByHisFlagAndBillStatus(carWayBill);
  57. if(noCarWayBillsMdEnd!=null && noCarWayBillsMdEnd.size()>0){
  58. noCarWayBillsMdEnd.stream().forEach(noCarWayBill -> {
  59. noCarService.getInvoiceByWayBillNumReal(noCarWayBill,true);
  60. });
  61. }
  62. }
  63. /**
  64. * 历史运单开票(每天整点点开始) todo 改成动态设置
  65. */
  66. @Scheduled(cron = "0 0 0/1 * * ?", zone = "Asia/Shanghai")
  67. public void updateHistoryNocarBillInfo() {
  68. try {
  69. delGetInvoce(1);
  70. }catch (Exception e){
  71. e.printStackTrace();
  72. }
  73. }
  74. @Scheduled(cron = "0 0 23 * * ?", zone = "Asia/Shanghai")
  75. public void getSefCarInvoice() {
  76. /**
  77. * 1.查询所有的etc卡
  78. * 2.按照etc卡号取最近两天的发票
  79. */
  80. List<CustomerCarRec> lst = customerCarRecMapper.selectAllBindEtc();
  81. lst.stream().forEach(customerCarRec -> {
  82. try {
  83. SelfCarDueQueryVo selfCarDueQueryVo = new SelfCarDueQueryVo();
  84. selfCarDueQueryVo.setCompanyName(customerCarRec.getCompanyName());
  85. selfCarDueQueryVo.setCardId(customerCarRec.getEtcNum());
  86. selfCarDueQueryVo.setCustomername(customerCarRec.getCustomerName());
  87. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  88. String curr = dateFormat.format(new Date());
  89. String befor = DateUtil.getDateAfterDays(curr,-1);
  90. String after = DateUtil.getDateAfterDays(curr,+1);
  91. selfCarDueQueryVo.setStartTime(befor+" 00:00:00");
  92. selfCarDueQueryVo.setEndTime(after+"00:00:00");
  93. //查询交易id
  94. TradeRequestVo tradeRequestVo = new TradeRequestVo();
  95. tradeRequestVo.setStartTime(befor+" 00:00:00");
  96. tradeRequestVo.setEndTime(after+"00:00:00");
  97. tradeRequestVo.setCompanyName(customerCarRec.getCustomerName());
  98. tradeRequestVo.setEtcId(customerCarRec.getEtcNum());
  99. tradeRequestVo.setTradeStatus(3);
  100. selfCarService.getTradeList(tradeRequestVo);
  101. selfCarService.getSelfCarInvoicesByTime(selfCarDueQueryVo);
  102. }catch (Exception e){
  103. e.printStackTrace();
  104. log.info(customerCarRec.getEtcNum());
  105. }
  106. });
  107. /* try {
  108. List<SelfCarAppl> selfCarAppls = selfCarApplMapper.selectAllNoRec();
  109. selfCarAppls.forEach(selfCarAppl -> {
  110. selfCarService.getSelfCarInvoicesByApplyIds(selfCarAppl);
  111. });
  112. }catch (Exception e){
  113. e.printStackTrace();
  114. }*/
  115. }
  116. }