|
@@ -72,6 +72,10 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.ID, financeConfirmId);
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.ID, financeConfirmId);
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.NCKD_CHECKMONTH, period);
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.NCKD_CHECKMONTH, period);
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.KEY_BILLSTATUS, "A");
|
|
financeConfirmInfo.set(FinanceBillConfirmConstant.KEY_BILLSTATUS, "A");
|
|
|
|
+
|
|
|
|
+ DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", new QFilter("number", QCP.equals, "CNY").toArray());
|
|
|
|
+ financeConfirmInfo.set(FinanceBillConfirmConstant.NCKD_CURRENCY, currency);
|
|
|
|
+
|
|
}
|
|
}
|
|
try(TXHandle tx = TX.requiresNew(this.getClass().getName())){
|
|
try(TXHandle tx = TX.requiresNew(this.getClass().getName())){
|
|
try {
|
|
try {
|
|
@@ -615,7 +619,7 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_TRIPREQBILLNO, trainTgEntry.getString("oabillnum"));
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_TRIPREQBILLNO, trainTgEntry.getString("oabillnum"));
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_ORDERBILLNO, trainTgEntry.getString("ordernum"));
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_ORDERBILLNO, trainTgEntry.getString("ordernum"));
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_ORDERAMT, orderPrice);
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_ORDERAMT, orderPrice);
|
|
- tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_TYPE, "train");
|
|
|
|
|
|
+ tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_TYPE, "taxi");
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_STANDARD, BigDecimal.ZERO);
|
|
tgEntry.set(FinanceBillConfirmConstant.NCKD_CB_ENTRY.NCKD_CB_STANDARD, BigDecimal.ZERO);
|
|
|
|
|
|
}
|
|
}
|
|
@@ -697,13 +701,15 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
List<String> trainNoList = dataList.stream()
|
|
List<String> trainNoList = dataList.stream()
|
|
.filter(r -> "6".equals(r.getString("operationtype")))
|
|
.filter(r -> "6".equals(r.getString("operationtype")))
|
|
.map(r -> r.getString("ordernum")).collect(Collectors.toList());
|
|
.map(r -> r.getString("ordernum")).collect(Collectors.toList());
|
|
- BigDecimal trainServiceAmount = QueryServiceHelper.query("er_traincheckingbill", "id,servicefee", new QFilter[]{
|
|
|
|
|
|
+ DynamicObjectCollection trainCheckingCol = QueryServiceHelper.query("er_traincheckingbill", "id,servicefee,ticketprice", new QFilter[]{
|
|
new QFilter("ordernum", QCP.in, trainNoList)
|
|
new QFilter("ordernum", QCP.in, trainNoList)
|
|
- }).stream().map(r -> r.getBigDecimal("servicefee")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ });
|
|
|
|
+ BigDecimal trainServiceAmount = trainCheckingCol
|
|
|
|
+ .stream().map(r -> r.getBigDecimal("servicefee")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_TRAINSERVICEFEE, trainServiceAmount);
|
|
slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_TRAINSERVICEFEE, trainServiceAmount);
|
|
- BigDecimal trainTotalAmount = dataList.stream()
|
|
|
|
- .filter(r -> "6".equals(r.getString("operationtype")))
|
|
|
|
- .map(r -> r.getBigDecimal("totalamount")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+
|
|
|
|
+ BigDecimal trainTotalAmount = trainCheckingCol
|
|
|
|
+ .stream().map(r -> r.getBigDecimal("ticketprice")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_TRAINPAYAMT, trainTotalAmount);
|
|
slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_TRAINPAYAMT, trainTotalAmount);
|
|
// 对机票订单金额合计
|
|
// 对机票订单金额合计
|
|
List<String> planNoList = dataList.stream()
|
|
List<String> planNoList = dataList.stream()
|
|
@@ -717,7 +723,7 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
BigDecimal planeTotalAmount = dataList.stream()
|
|
BigDecimal planeTotalAmount = dataList.stream()
|
|
.filter(r -> "2".equals(r.getString("operationtype")) || "4".equals(r.getString("operationtype")))
|
|
.filter(r -> "2".equals(r.getString("operationtype")) || "4".equals(r.getString("operationtype")))
|
|
.map(r -> r.getBigDecimal("totalamount")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.map(r -> r.getBigDecimal("totalamount")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
- slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_PLANSERVICEFEE, planeTotalAmount);
|
|
|
|
|
|
+ slEntry.set(FinanceBillConfirmConstant.NCKD_SL_ENTRY.NCKD_SL_PLANPAYAMT, planeTotalAmount);
|
|
// 对酒店订单金额合计
|
|
// 对酒店订单金额合计
|
|
List<String> hotelNoList = dataList.stream()
|
|
List<String> hotelNoList = dataList.stream()
|
|
.filter(r ->"1".equals(r.getString("operationtype")) || "5".equals(r.getString("operationtype")))
|
|
.filter(r ->"1".equals(r.getString("operationtype")) || "5".equals(r.getString("operationtype")))
|
|
@@ -768,7 +774,6 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
|
|
|
|
protected void createBzEntry(DynamicObject financeConfirmInfo){
|
|
protected void createBzEntry(DynamicObject financeConfirmInfo){
|
|
long confirmBillId = financeConfirmInfo.getLong(FinanceBillConfirmConstant.ID);
|
|
long confirmBillId = financeConfirmInfo.getLong(FinanceBillConfirmConstant.ID);
|
|
- BigDecimal bzAmount = CommonUtils.getBzAmount();
|
|
|
|
// 查询出差申请单
|
|
// 查询出差申请单
|
|
DynamicObjectCollection tripReqBillCol = QueryServiceHelper.query(TripReqBillConstant.ENTITYID, String.join(",",TripReqBillConstant.ID,TripReqBillConstant.BILLNO), new QFilter[]{
|
|
DynamicObjectCollection tripReqBillCol = QueryServiceHelper.query(TripReqBillConstant.ENTITYID, String.join(",",TripReqBillConstant.ID,TripReqBillConstant.BILLNO), new QFilter[]{
|
|
// 状态为审核通过、已付款、关闭
|
|
// 状态为审核通过、已付款、关闭
|
|
@@ -782,7 +787,7 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
}
|
|
}
|
|
List<Object> tripReqBillIdList = tripReqBillCol.stream().map(r -> r.get(TripReqBillConstant.ID)).collect(Collectors.toList());
|
|
List<Object> tripReqBillIdList = tripReqBillCol.stream().map(r -> r.get(TripReqBillConstant.ID)).collect(Collectors.toList());
|
|
// 创建财务对账底稿
|
|
// 创建财务对账底稿
|
|
- createTravelFinanDraft(financeConfirmInfo,tripReqBillIdList,bzAmount);
|
|
|
|
|
|
+ createTravelFinanDraft(financeConfirmInfo,tripReqBillIdList);
|
|
DynamicObjectCollection bzEntryCol = financeConfirmInfo.getDynamicObjectCollection(FinanceBillConfirmConstant.NCKD_BZ_ENTRY.ENTITYID);
|
|
DynamicObjectCollection bzEntryCol = financeConfirmInfo.getDynamicObjectCollection(FinanceBillConfirmConstant.NCKD_BZ_ENTRY.ENTITYID);
|
|
// 查询关联的商旅补助底稿数据
|
|
// 查询关联的商旅补助底稿数据
|
|
List<Long> draftBillIdList = QueryServiceHelper.query(TravelFinanDraftConstant.ENTITYID, TravelFinanDraftConstant.ID,
|
|
List<Long> draftBillIdList = QueryServiceHelper.query(TravelFinanDraftConstant.ENTITYID, TravelFinanDraftConstant.ID,
|
|
@@ -886,9 +891,8 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
* 创建财务对账底稿单据
|
|
* 创建财务对账底稿单据
|
|
* @param financeConfirmInfo 来源商旅对账确认单ID
|
|
* @param financeConfirmInfo 来源商旅对账确认单ID
|
|
* @param tripReqBillIdList 出差申请单ID
|
|
* @param tripReqBillIdList 出差申请单ID
|
|
- * @param bzAmount 补助金额
|
|
|
|
*/
|
|
*/
|
|
- protected void createTravelFinanDraft(DynamicObject financeConfirmInfo, List<Object> tripReqBillIdList ,BigDecimal bzAmount) {
|
|
|
|
|
|
+ protected void createTravelFinanDraft(DynamicObject financeConfirmInfo, List<Object> tripReqBillIdList) {
|
|
long confirmBillId = financeConfirmInfo.getLong(FinanceBillConfirmConstant.ID);
|
|
long confirmBillId = financeConfirmInfo.getLong(FinanceBillConfirmConstant.ID);
|
|
// 创建商旅财务对账底稿
|
|
// 创建商旅财务对账底稿
|
|
DynamicObject[] tripReqBillArray = BusinessDataServiceHelper.load(tripReqBillIdList.toArray(), EntityMetadataCache.getDataEntityType(TripReqBillConstant.ENTITYID_F7));
|
|
DynamicObject[] tripReqBillArray = BusinessDataServiceHelper.load(tripReqBillIdList.toArray(), EntityMetadataCache.getDataEntityType(TripReqBillConstant.ENTITYID_F7));
|
|
@@ -918,6 +922,7 @@ public class TravelFinanConfirmCreateTask extends AbstractTask {
|
|
travelFinanDraftInfo.set(TravelFinanDraftConstant.NCKD_CONFIRMSTATUS, "10");
|
|
travelFinanDraftInfo.set(TravelFinanDraftConstant.NCKD_CONFIRMSTATUS, "10");
|
|
travelFinanDraftInfo.set(TravelFinanDraftConstant.KEY_BILLNO,tripReqBill.getString(TripReqBillConstant.BILLNO));
|
|
travelFinanDraftInfo.set(TravelFinanDraftConstant.KEY_BILLNO,tripReqBill.getString(TripReqBillConstant.BILLNO));
|
|
|
|
|
|
|
|
+ BigDecimal bzAmount = CommonUtils.getBzAmount(tripReqBill.getDynamicObject(TripReqBillConstant.APPLIER));
|
|
DynamicObjectCollection draftEntryCol = travelFinanDraftInfo.getDynamicObjectCollection(TravelFinanDraftConstant.NCKD_DETAILENTITY.ENTITYID);
|
|
DynamicObjectCollection draftEntryCol = travelFinanDraftInfo.getDynamicObjectCollection(TravelFinanDraftConstant.NCKD_DETAILENTITY.ENTITYID);
|
|
if(trainBillMap.containsKey(billno) && trainBillMap.get(billno) != null){
|
|
if(trainBillMap.containsKey(billno) && trainBillMap.get(billno) != null){
|
|
List<DynamicObject> trainBillList = trainBillMap.get(billno);
|
|
List<DynamicObject> trainBillList = trainBillMap.get(billno);
|