|
@@ -1,6 +1,7 @@
|
|
package nckd.jimin.jyyy.fi.plugin.form.travelcheck;
|
|
package nckd.jimin.jyyy.fi.plugin.form.travelcheck;
|
|
|
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
|
+import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
import kd.bos.form.ShowType;
|
|
import kd.bos.form.ShowType;
|
|
import kd.bos.form.control.EntryGrid;
|
|
import kd.bos.form.control.EntryGrid;
|
|
import kd.bos.form.events.HyperLinkClickEvent;
|
|
import kd.bos.form.events.HyperLinkClickEvent;
|
|
@@ -10,14 +11,19 @@ import kd.bos.list.ListFilterParameter;
|
|
import kd.bos.list.ListShowParameter;
|
|
import kd.bos.list.ListShowParameter;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
|
|
+import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
|
+import kd.bos.util.CollectionUtils;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.BusTravelCheckBillConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.BusTravelCheckBillConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.FinanceBillConfirmConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.FinanceBillConfirmConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.TravelFinanDraftConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.TravelFinanDraftConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.TripReqBillConstant;
|
|
import nckd.jimin.jyyy.fi.common.constant.travelcheck.TripReqBillConstant;
|
|
import nckd.jimin.jyyy.fi.common.util.CommonUtils;
|
|
import nckd.jimin.jyyy.fi.common.util.CommonUtils;
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.Date;
|
|
import java.util.EventObject;
|
|
import java.util.EventObject;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
public class BusTravelCommonEdit extends AbstractFormPlugin implements FinanceBillConfirmConstant, HyperLinkClickListener {
|
|
public class BusTravelCommonEdit extends AbstractFormPlugin implements FinanceBillConfirmConstant, HyperLinkClickListener {
|
|
|
|
|
|
@@ -68,16 +74,35 @@ public class BusTravelCommonEdit extends AbstractFormPlugin implements FinanceBi
|
|
DynamicObject entryInfo = getModel().getEntryRowEntity(NCKD_SL_ENTRY.ENTITYID, rowIndex);
|
|
DynamicObject entryInfo = getModel().getEntryRowEntity(NCKD_SL_ENTRY.ENTITYID, rowIndex);
|
|
|
|
|
|
DynamicObject traveler = entryInfo.getDynamicObject(NCKD_SL_ENTRY.NCKD_SL_TRAVELER);
|
|
DynamicObject traveler = entryInfo.getDynamicObject(NCKD_SL_ENTRY.NCKD_SL_TRAVELER);
|
|
|
|
+ String period = dataEntity.getString(NCKD_CHECKMONTH);
|
|
|
|
+ Date periodStartDate = CommonUtils.parseDate(period);
|
|
|
|
+ Date periodEndDate = CommonUtils.getFirstDayOfNextMonth(periodStartDate);
|
|
|
|
+
|
|
|
|
+ DynamicObjectCollection checkingBillCol = QueryServiceHelper.query("er_checkingbill", "billnum", new QFilter[]{
|
|
|
|
+ new QFilter("periodstartdate", QCP.large_equals, periodStartDate),
|
|
|
|
+ new QFilter("periodenddate", QCP.less_than, periodEndDate),
|
|
|
|
+ new QFilter("operationtype", QFilter.in, Arrays.asList("1","2","4","5","6")),
|
|
|
|
+ });
|
|
|
|
+ if(CollectionUtils.isEmpty(checkingBillCol)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ List<String> billNumList = checkingBillCol.stream().map(r -> r.getString("billnum")).collect(Collectors.toList());
|
|
|
|
+ DynamicObjectCollection slOrderDataCol = QueryServiceHelper.query("er_allcheckingbill",
|
|
|
|
+ "id,oabillnum,server,sourcebookedid.id applierId,totalamount,operationtype,ordernum", new QFilter[]{
|
|
|
|
+ new QFilter("checkingbillnum", QCP.in, billNumList),
|
|
|
|
+ new QFilter("sourcebookedid", QCP.equals, traveler.getLong(ID))
|
|
|
|
+ });
|
|
|
|
+ List<Long> idList = slOrderDataCol.stream().map(r -> r.getLong("id")).collect(Collectors.toList());
|
|
|
|
|
|
ListShowParameter showParameter = new ListShowParameter();
|
|
ListShowParameter showParameter = new ListShowParameter();
|
|
showParameter.setBillFormId("er_allcheckingbill");
|
|
showParameter.setBillFormId("er_allcheckingbill");
|
|
showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
|
showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
|
showParameter.setShowFilter(false);
|
|
showParameter.setShowFilter(false);
|
|
|
|
+
|
|
// 查询出差人下的单据
|
|
// 查询出差人下的单据
|
|
ListFilterParameter listFilterParameter = showParameter.getListFilterParameter();
|
|
ListFilterParameter listFilterParameter = showParameter.getListFilterParameter();
|
|
List<QFilter> qFilters = listFilterParameter.getQFilters();
|
|
List<QFilter> qFilters = listFilterParameter.getQFilters();
|
|
- qFilters.add(new QFilter(NCKD_SL_CONFRMID, QCP.equals, confirmBilId));
|
|
|
|
- qFilters.add(new QFilter("sourcebookedid", QCP.equals, traveler.getLong(ID)));
|
|
|
|
|
|
+ qFilters.add(new QFilter("id", QCP.in, idList));
|
|
this.getView().showForm(showParameter);
|
|
this.getView().showForm(showParameter);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -87,6 +112,24 @@ public class BusTravelCommonEdit extends AbstractFormPlugin implements FinanceBi
|
|
|
|
|
|
DynamicObject traveler = entryInfo.getDynamicObject(NCKD_YC_ENTRY.NCKD_YC_TRAVELER);
|
|
DynamicObject traveler = entryInfo.getDynamicObject(NCKD_YC_ENTRY.NCKD_YC_TRAVELER);
|
|
|
|
|
|
|
|
+ String period = dataEntity.getString(NCKD_CHECKMONTH);
|
|
|
|
+ Date periodStartDate = CommonUtils.parseDate(period);
|
|
|
|
+ Date periodEndDate = CommonUtils.getFirstDayOfNextMonth(periodStartDate);
|
|
|
|
+ DynamicObjectCollection checkingBillCol = QueryServiceHelper.query("er_checkingbill", "billnum", new QFilter[]{
|
|
|
|
+ new QFilter("periodstartdate", QCP.large_equals, periodStartDate),
|
|
|
|
+ new QFilter("periodenddate", QCP.less_than, periodEndDate),
|
|
|
|
+ new QFilter("operationtype", QFilter.equals, "3"),
|
|
|
|
+ });
|
|
|
|
+ List<String> billNumList = checkingBillCol.stream().map(r -> r.getString("billnum")).collect(Collectors.toList());
|
|
|
|
+ // 查询用车结算单
|
|
|
|
+ DynamicObjectCollection vehicleCheckCol = QueryServiceHelper.query("er_vehiclecheckingbill",
|
|
|
|
+ "id,oabillnum,server,sourcebookedid.id applierId,totalamount,vehicletype", new QFilter[]{
|
|
|
|
+ new QFilter("checkingbillnum", QCP.in, billNumList),
|
|
|
|
+ new QFilter("sourcebookedid", QCP.equals, traveler.getLong(ID))
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ List<Long> idList = vehicleCheckCol.stream().map(r -> r.getLong("id")).collect(Collectors.toList());
|
|
|
|
+
|
|
ListShowParameter showParameter = new ListShowParameter();
|
|
ListShowParameter showParameter = new ListShowParameter();
|
|
showParameter.setBillFormId("er_vehiclecheckingbill");
|
|
showParameter.setBillFormId("er_vehiclecheckingbill");
|
|
showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
|
showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
|
@@ -94,8 +137,7 @@ public class BusTravelCommonEdit extends AbstractFormPlugin implements FinanceBi
|
|
// 查询出差人下的单据
|
|
// 查询出差人下的单据
|
|
ListFilterParameter listFilterParameter = showParameter.getListFilterParameter();
|
|
ListFilterParameter listFilterParameter = showParameter.getListFilterParameter();
|
|
List<QFilter> qFilters = listFilterParameter.getQFilters();
|
|
List<QFilter> qFilters = listFilterParameter.getQFilters();
|
|
- qFilters.add(new QFilter(NCKD_YC_CONFRMID, QCP.equals, confirmBilId));
|
|
|
|
- qFilters.add(new QFilter("sourcebookedid", QCP.equals, traveler.getLong(ID)));
|
|
|
|
|
|
+ qFilters.add(new QFilter("id", QCP.in, idList));
|
|
this.getView().showForm(showParameter);
|
|
this.getView().showForm(showParameter);
|
|
}
|
|
}
|
|
}
|
|
}
|