feat:报表,发车日报,未收款数量计算修改

This commit is contained in:
zzs 2025-02-18 14:36:24 +08:00
parent a065810553
commit abbcb0c159

View File

@ -20,10 +20,6 @@ import org.apache.commons.compress.utils.Lists;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import static com.yem.rf.salescommission.CompleteShipDetailReportPlugin.*; import static com.yem.rf.salescommission.CompleteShipDetailReportPlugin.*;
@ -223,11 +219,21 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
QFilter qFilter = getBaseQFilter(new String[]{"B", "C"}); QFilter qFilter = getBaseQFilter(new String[]{"B", "C"});
List<String> selectfields = new ArrayList<>(); List<String> selectfields = new ArrayList<>();
selectfields.add("yem_sourcebillid source_order_id_placeexamine_fk"); selectfields.add("yem_es_materialinfo.yem_sourceentryid source_order_id_placeexamine_fk");
selectfields.add("yem_es_materialinfo.yem_qty yem_qty");
return ORM.create().queryDataSet(algoKey, "yem_placeexamine", String.join(",", selectfields), qFilter.toArray()); return ORM.create().queryDataSet(algoKey, "yem_placeexamine", String.join(",", selectfields), qFilter.toArray());
} }
private Set<Long> sumIds(DataSet dataSet) {
DynamicObjectCollection c = ORM.create().toPlainDynamicObjectCollection(dataSet.copy());
Set<Long> orderIds = new HashSet<>();
for (DynamicObject d : c) {
long orderIdPlaceexamineFk = d.getLong("source_order_id_placeexamine_fk");
orderIds.add(orderIdPlaceexamineFk);
}
return orderIds;
}
/** /**
* 合同已下单下单审批提交或者审核但是合同款项未认领 * 合同已下单下单审批提交或者审核但是合同款项未认领
@ -241,10 +247,11 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
DataSet dataSet; DataSet dataSet;
DataSet placeexamine = queryPlaceExamine(param);//BC下单审批 DataSet placeexamine = queryPlaceExamine(param);//BC下单审批
DataSet salesorder = querySalesOrder(param); Set<Long> orderIds = sumIds(placeexamine);
DataSet salesorder = querySalesOrder(param, orderIds);
DataSet trackTaskConsole = queryTrackTaskConsole(param); DataSet trackTaskConsole = queryTrackTaskConsole(param);
dataSet = placeexamine.leftJoin(salesorder) dataSet = placeexamine.leftJoin(salesorder)
.on("source_order_id_placeexamine_fk", "order_id") .on("source_order_id_placeexamine_fk", "order_entry_id")
.select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder)) .select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder))
.finish(); .finish();
dataSet = dataSet.leftJoin(claimedAmt) dataSet = dataSet.leftJoin(claimedAmt)
@ -300,10 +307,11 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
DataSet dataSet; DataSet dataSet;
DataSet placeexamine = queryPlaceExamine(param);//BC下单审批 DataSet placeexamine = queryPlaceExamine(param);//BC下单审批
DataSet salesorder = querySalesOrder(param); Set<Long> orderIds = sumIds(placeexamine);
DataSet salesorder = querySalesOrder(param, orderIds);
dataSet = placeexamine.leftJoin(salesorder) dataSet = placeexamine.leftJoin(salesorder)
.on("source_order_id_placeexamine_fk", "order_id") .on("source_order_id_placeexamine_fk", "order_entry_id")
.select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder)) .select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder))
.finish(); .finish();
dataSet = dataSet.select("order_id received_order_id, order_product_id_main_fk received_order_product_id_main_fk, yem_qty"); dataSet = dataSet.select("order_id received_order_id, order_product_id_main_fk received_order_product_id_main_fk, yem_qty");
@ -335,16 +343,17 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
return dataSet; return dataSet;
} }
private DataSet querySalesOrder(ReportQueryParam param) { private DataSet querySalesOrder(ReportQueryParam param, Set<Long> orderIds) {
QFilter qFilter = getBaseQFilter(); QFilter qFilter = getBaseQFilter();
qFilter.and("yem_es_materialinfo.yem_businesssort", "=", "Z"); qFilter.and("yem_es_materialinfo.yem_businesssort", "=", "Z");
qFilter.and("yem_es_materialinfo.id", "in", orderIds);
List<String> selectfields = new ArrayList<>(); List<String> selectfields = new ArrayList<>();
selectfields.add("id order_id"); selectfields.add("id order_id");
selectfields.add("yem_es_materialinfo.id order_entry_id");
selectfields.add("billno salesorder_no"); selectfields.add("billno salesorder_no");
selectfields.add("yem_es_materialinfo.yem_resourcenog.yem_products.group.id order_product_id_main_fk"); selectfields.add("yem_es_materialinfo.yem_resourcenog.yem_products.group.id order_product_id_main_fk");
selectfields.add("yem_es_materialinfo.yem_qty yem_qty");
return ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray()); return ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
} }