|
@@ -933,8 +933,12 @@ public class SikuServiceImpl implements SikuService {
|
|
|
for (Map expenseValue : expenseValueList) {
|
|
for (Map expenseValue : expenseValueList) {
|
|
|
Map deductionList = UtilMap.getMap(expenseValue, "deductionList");//当前对公费用核销的数据(当前到票核销场景核销了哪些“预付未到票”记录)
|
|
Map deductionList = UtilMap.getMap(expenseValue, "deductionList");//当前对公费用核销的数据(当前到票核销场景核销了哪些“预付未到票”记录)
|
|
|
|
|
|
|
|
- Map expenseDeductionTaxAmount = UtilMap.getMap(expenseValue, "expenseDeductionTaxAmount");//费用级抵扣税额(消费币种)
|
|
|
|
|
- Double sj = UtilMap.getDouble(expenseDeductionTaxAmount, "amount");//每刻实际税金
|
|
|
|
|
|
|
+ List<Map> invoiceList = getMkListValue(expenseValue, "invoiceList");//发票列表
|
|
|
|
|
+ Map invoice = invoiceList.get(0);
|
|
|
|
|
+ Double totalTaxAmount = UtilMap.getDouble(invoice, "totalTaxAmount");//每刻实际税金
|
|
|
|
|
+
|
|
|
|
|
+ /*Map expenseDeductionTaxAmount = UtilMap.getMap(expenseValue, "expenseDeductionTaxAmount");//费用级抵扣税额(消费币种)
|
|
|
|
|
+ Double sj = UtilMap.getDouble(expenseDeductionTaxAmount, "amount");//每刻实际税金*/
|
|
|
|
|
|
|
|
List<Map> deductionValueList = UtilMap.getList(deductionList, "value");
|
|
List<Map> deductionValueList = UtilMap.getList(deductionList, "value");
|
|
|
|
|
|
|
@@ -945,7 +949,7 @@ public class SikuServiceImpl implements SikuService {
|
|
|
|
|
|
|
|
if (targetFormCode.contains("需求") || targetFormCode.contains("采购")){
|
|
if (targetFormCode.contains("需求") || targetFormCode.contains("采购")){
|
|
|
//更新宜搭核销金额及税金
|
|
//更新宜搭核销金额及税金
|
|
|
- updateYdDeduction(targetFormCode,deductionAmount,sj);
|
|
|
|
|
|
|
+ updateYdDeduction(targetFormCode,deductionAmount,totalTaxAmount);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1158,18 +1162,20 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
|
- Double ydsj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//税金
|
|
|
|
|
|
|
+ Double kdksj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//可抵扣税金
|
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
|
detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
|
|
|
|
|
|
- //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
- if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
- Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总可抵扣税金
|
|
|
|
|
|
|
|
- updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
- updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
|
|
+ if (mksjsj > 0){
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",sj);//最新税金差值
|
|
|
|
|
+ }else {
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - kdksj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-kdksj + sj);//最新税金差值
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
@@ -1184,18 +1190,20 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
|
- Double ydsj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//税金
|
|
|
|
|
|
|
+ Double kdksj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//税金
|
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
|
detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
|
|
|
|
|
|
- //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
- if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
- Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总可抵扣税金
|
|
|
|
|
|
|
|
- updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
- updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
|
|
+ if (mksjsj > 0){
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",sj);//最新税金差值
|
|
|
|
|
+ }else {
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - kdksj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-kdksj + sj);//最新税金差值
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
@@ -1230,19 +1238,22 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatky8");//已核销金额
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182f");//已退回金额
|
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4p");//每刻实际税金
|
|
|
- Double ydsj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//税金
|
|
|
|
|
|
|
+ Double kdksj = UtilMap.getDouble(detail, "numberField_mmsvi56x");//可抵扣税金
|
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij5e");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatky8",yhxje + deductionAmount);
|
|
|
detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
detailMap.put("numberField_mob8gv4p",mksjsj + sj);//每刻实际税金
|
|
|
|
|
|
|
|
- //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
- if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
- Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总可抵扣税金
|
|
|
|
|
|
|
|
- updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
- updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
|
|
+ if (mksjsj > 0){
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",sj);//最新税金差值
|
|
|
|
|
+ }else {
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - kdksj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-kdksj + sj);//最新税金差值
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|
|
|
}
|
|
}
|
|
@@ -1256,18 +1267,20 @@ public class SikuServiceImpl implements SikuService {
|
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
Double yhxje = UtilMap.getDouble(detail, "numberField_mniatkya");//已核销金额
|
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
Double ythje = UtilMap.getDouble(detail, "numberField_mn4g182g");//已退回金额
|
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
Double mksjsj = UtilMap.getDouble(detail, "numberField_mob8gv4q");//每刻实际税金
|
|
|
- Double ydsj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//税金
|
|
|
|
|
|
|
+ Double kdksj = UtilMap.getDouble(detail, "numberField_mn3zekbx");//可抵扣税金
|
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
Double ydcgje = UtilMap.getDouble(detail, "numberField_mkkmij6p");//采购金额
|
|
|
|
|
|
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
detailMap.put("numberField_mniatkya",yhxje + deductionAmount);
|
|
|
detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
detailMap.put("numberField_mob8gv4q",mksjsj + sj);//每刻实际税金
|
|
|
|
|
|
|
|
- //若采购金额等于已核销金额+本次核销金额+已退回金额
|
|
|
|
|
- if (ydcgje == yhxje + deductionAmount + ythje){
|
|
|
|
|
- Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总税金
|
|
|
|
|
|
|
+ Double totalSj = UtilMap.getDouble(ydFormData, "numberField_mkkmij6k");//总可抵扣税金
|
|
|
|
|
|
|
|
- updateFormData.put("numberField_mkkmij6k",totalSj - ydsj + sj);//总税金
|
|
|
|
|
- updateFormData.put("numberField_mob8gv4v",-ydsj + sj);//最新税金插值
|
|
|
|
|
|
|
+ if (mksjsj > 0){
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",sj);//最新税金差值
|
|
|
|
|
+ }else {
|
|
|
|
|
+ updateFormData.put("numberField_mkkmij6k",totalSj - kdksj + sj);//总可抵扣税金
|
|
|
|
|
+ updateFormData.put("numberField_mob8gv4v",-kdksj + sj);//最新税金差值
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
updateDetailList.add(detailMap);
|
|
updateDetailList.add(detailMap);
|