|
|
@@ -1,13 +1,8 @@
|
|
1
|
1
|
package com.example.backend.pAndSExe.service.impl;
|
|
2
|
2
|
|
|
3
|
3
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
4
|
|
-import com.example.backend.pAndSExe.mapper.InfDailijiesuanMapper;
|
|
5
|
|
-import com.example.backend.pAndSExe.mapper.MdkcctrlMapper;
|
|
6
|
|
-import com.example.backend.pAndSExe.mapper.SaleSettle3Mapper;
|
|
7
|
|
-import com.example.backend.pAndSExe.mapper.SettleProdDtl3Mapper;
|
|
8
|
|
-import com.example.backend.pAndSExe.model.InfDailijiesuan;
|
|
9
|
|
-import com.example.backend.pAndSExe.model.SaleSettle3;
|
|
10
|
|
-import com.example.backend.pAndSExe.model.SettleProdDtl3;
|
|
|
4
|
+import com.example.backend.pAndSExe.mapper.*;
|
|
|
5
|
+import com.example.backend.pAndSExe.model.*;
|
|
11
|
6
|
import com.example.backend.pAndSExe.service.DailijiesuanSettleService;
|
|
12
|
7
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
13
|
8
|
import org.springframework.stereotype.Service;
|
|
|
@@ -34,6 +29,15 @@ public class DailijiesuanSettleServiceImpl implements DailijiesuanSettleService
|
|
34
|
29
|
@Autowired
|
|
35
|
30
|
private MdkcctrlMapper mdkcctrlMapper;
|
|
36
|
31
|
|
|
|
32
|
+ @Autowired
|
|
|
33
|
+ private SalesorderMapper salesorderMapper;
|
|
|
34
|
+
|
|
|
35
|
+ @Autowired
|
|
|
36
|
+ private PaymgrctrlMapper paymgrctrlMapper;
|
|
|
37
|
+
|
|
|
38
|
+ @Autowired
|
|
|
39
|
+ private SalesInvDtlMapper salesInvDtlMapper;
|
|
|
40
|
+
|
|
37
|
41
|
/**
|
|
38
|
42
|
* 批量导入代理结算中间表数据到业务表
|
|
39
|
43
|
*/
|
|
|
@@ -42,7 +46,7 @@ public class DailijiesuanSettleServiceImpl implements DailijiesuanSettleService
|
|
42
|
46
|
// 1. 查询中间表有效数据(dataStatus=0)
|
|
43
|
47
|
List<InfDailijiesuan> infList = infDailijiesuanMapper.selectValidData();
|
|
44
|
48
|
//todo
|
|
45
|
|
- infList=infDailijiesuanMapper.selectAllData();
|
|
|
49
|
+ //infList=infDailijiesuanMapper.selectAllData();
|
|
46
|
50
|
if (infList.isEmpty()) {
|
|
47
|
51
|
return "未查询到代理结算中间表中有效数据(dataStatus=0),无需导入";
|
|
48
|
52
|
}
|
|
|
@@ -54,6 +58,9 @@ public class DailijiesuanSettleServiceImpl implements DailijiesuanSettleService
|
|
54
|
58
|
for (InfDailijiesuan inf : infList) {
|
|
55
|
59
|
try {
|
|
56
|
60
|
// -------------------- 第一步:插入主表saleSettle3 --------------------
|
|
|
61
|
+
|
|
|
62
|
+ SalesOrder salesOrder = salesorderMapper.selectBySalesContract(inf.getSono());
|
|
|
63
|
+
|
|
57
|
64
|
SaleSettle3 saleSettle3 = new SaleSettle3();
|
|
58
|
65
|
Long settleId = IdWorker.getId(); // 19位雪花ID(主表)
|
|
59
|
66
|
saleSettle3.setId(settleId);
|
|
|
@@ -75,6 +82,53 @@ public class DailijiesuanSettleServiceImpl implements DailijiesuanSettleService
|
|
75
|
82
|
saleSettle3.setUpdateTime(new Date());
|
|
76
|
83
|
saleSettle3.setPlaced("2");
|
|
77
|
84
|
|
|
|
85
|
+
|
|
|
86
|
+ saleSettle3.setFours(salesOrder.getFours());
|
|
|
87
|
+ saleSettle3.setFoursname(salesOrder.getFoursname());
|
|
|
88
|
+ saleSettle3.setCtNo(salesOrder.getCtNo());
|
|
|
89
|
+ saleSettle3.setCtName(salesOrder.getCtName());
|
|
|
90
|
+ saleSettle3.setCurcy(salesOrder.getCurcy());
|
|
|
91
|
+ saleSettle3.setRate(salesOrder.getRate());
|
|
|
92
|
+ saleSettle3.setTerms(salesOrder.getTerms());
|
|
|
93
|
+ saleSettle3.setSignLoc(salesOrder.getSignLoc());
|
|
|
94
|
+ saleSettle3.setDelivLoc(salesOrder.getDelivLoc());
|
|
|
95
|
+ saleSettle3.setTrdCtry(salesOrder.getTrdCtry());
|
|
|
96
|
+ saleSettle3.setPayment(salesOrder.getPayment());
|
|
|
97
|
+ saleSettle3.setTradeway(salesOrder.getTradeway());
|
|
|
98
|
+ saleSettle3.setSoOrderNo(salesOrder.getFno());
|
|
|
99
|
+ saleSettle3.setQtyOver(salesOrder.getQtyOver());
|
|
|
100
|
+ saleSettle3.setQtyShort(salesOrder.getQtyShort());
|
|
|
101
|
+ saleSettle3.setAmtOver(salesOrder.getAmtOver());
|
|
|
102
|
+ saleSettle3.setAmtShort(salesOrder.getAmtShort());
|
|
|
103
|
+ saleSettle3.setChnShipName(salesOrder.getChnShipName());
|
|
|
104
|
+ saleSettle3.setEngShipName(salesOrder.getEngShipName());
|
|
|
105
|
+ saleSettle3.setCtOrderNo(salesOrder.getCtOrderNo());
|
|
|
106
|
+ saleSettle3.setPono(salesOrder.getPono());
|
|
|
107
|
+ saleSettle3.setRcptMtd(salesOrder.getRcptMtd());
|
|
|
108
|
+ saleSettle3.setSignDate(salesOrder.getSignDate());
|
|
|
109
|
+ saleSettle3.setOrigin(salesOrder.getOrigin());
|
|
|
110
|
+ saleSettle3.setOurBankNm(salesOrder.getOurBankNm());
|
|
|
111
|
+ saleSettle3.setOurBankAcct(salesOrder.getOurBankAcct());
|
|
|
112
|
+ saleSettle3.setBizType(salesOrder.getBizType());
|
|
|
113
|
+ saleSettle3.setAcctSet(salesOrder.getAcctSet());
|
|
|
114
|
+ saleSettle3.setCtBankName(salesOrder.getCtBankName());
|
|
|
115
|
+ saleSettle3.setPriceDesc(salesOrder.getPriceDesc());
|
|
|
116
|
+ saleSettle3.setCtBankAcct(salesOrder.getCtBankAcct());
|
|
|
117
|
+ saleSettle3.setServiceType(salesOrder.getServiceType());
|
|
|
118
|
+ saleSettle3.setIfClearBottom(salesOrder.getIfClearBottom());
|
|
|
119
|
+ saleSettle3.setBizProductType(salesOrder.getBizProductType());
|
|
|
120
|
+ saleSettle3.setRptg(salesOrder.getRptg());
|
|
|
121
|
+ saleSettle3.setCtContNm(salesOrder.getCtContNm());
|
|
|
122
|
+ saleSettle3.setIfgc(salesOrder.getIfgc());
|
|
|
123
|
+ saleSettle3.setIfWeighedSalesQty(salesOrder.getIfWeighedSalesQty());
|
|
|
124
|
+
|
|
|
125
|
+ Rate rate=paymgrctrlMapper.selectRate(salesOrder.getCurcy());
|
|
|
126
|
+ if (rate!=null ){
|
|
|
127
|
+ saleSettle3.setRateUsd(rate.getRateUsd());
|
|
|
128
|
+ saleSettle3.setRateUs(rate.getRateUs());
|
|
|
129
|
+ saleSettle3.setRate(rate.getRate());
|
|
|
130
|
+ }
|
|
|
131
|
+
|
|
78
|
132
|
saleSettle3Mapper.insert(saleSettle3);
|
|
79
|
133
|
|
|
80
|
134
|
// -------------------- 第二步:插入从表settleProdDtl3 --------------------
|
|
|
@@ -91,13 +145,36 @@ public class DailijiesuanSettleServiceImpl implements DailijiesuanSettleService
|
|
91
|
145
|
settleProdDtl3.setSoamt(inf.getSoamt());
|
|
92
|
146
|
settleProdDtl3.setOutTaxRate(inf.getOutTaxRate());
|
|
93
|
147
|
settleProdDtl3.setNtSoAmt(inf.getNtSoAmt());
|
|
|
148
|
+ settleProdDtl3.setCtOrderNo(inf.getSono());
|
|
|
149
|
+ settleProdDtl3.setSono(inf.getSono());
|
|
|
150
|
+ settleProdDtl3.setAcctSet(salesOrder.getAcctSet());
|
|
|
151
|
+ settleProdDtl3.setCtName(salesOrder.getCtName());
|
|
|
152
|
+ settleProdDtl3.setCtNo(salesOrder.getCtNo());
|
|
|
153
|
+
|
|
|
154
|
+
|
|
94
|
155
|
|
|
95
|
156
|
|
|
96
|
157
|
settleProdDtl3Mapper.insert(settleProdDtl3);
|
|
97
|
158
|
|
|
|
159
|
+ SalesInvDtl salesInvDtl=new SalesInvDtl();
|
|
|
160
|
+ Long invDtlId = IdWorker.getId(); // 19位雪花ID(从表)
|
|
|
161
|
+ salesInvDtl.setId(invDtlId);
|
|
|
162
|
+ salesInvDtl.setRid(settleId); // 关联主表ID
|
|
|
163
|
+ salesInvDtl.setItemno(inf.getItemno());
|
|
|
164
|
+ salesInvDtl.setSdesc(inf.getSdesc());
|
|
|
165
|
+ salesInvDtl.setBrand(inf.getBrand());
|
|
|
166
|
+ salesInvDtl.setQty(inf.getQty());
|
|
|
167
|
+ salesInvDtl.setUt(inf.getUt());
|
|
|
168
|
+ salesInvDtl.setSoamt(inf.getSoamt());
|
|
|
169
|
+ salesInvDtl.setOutTaxRate(inf.getOutTaxRate());
|
|
|
170
|
+ salesInvDtl.setNtSoAmt(inf.getNtSoAmt());
|
|
|
171
|
+
|
|
|
172
|
+
|
|
|
173
|
+ salesInvDtlMapper.insert(salesInvDtl);
|
|
|
174
|
+
|
|
98
|
175
|
// -------------------- 第三步:更新中间表状态为已导入 --------------------
|
|
99
|
176
|
//todo
|
|
100
|
|
- //infDailijiesuanMapper.updateStatusById(inf.getId());
|
|
|
177
|
+ infDailijiesuanMapper.updateStatusById(inf.getId());
|
|
101
|
178
|
successCount++;
|
|
102
|
179
|
} catch (Exception e) {
|
|
103
|
180
|
failCount++;
|