1.配件发货明细表(已发货)逻辑修改
This commit is contained in:
ljw 2024-12-06 17:35:26 +08:00
parent d26d5dcc7b
commit 9ceaea2803

View File

@ -75,13 +75,13 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
resDataSet = RptUtil.zeroNullNums(resDataSet); resDataSet = RptUtil.zeroNullNums(resDataSet);
DataSet selected = resDataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(resDataSet)) + DataSet selected = resDataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(resDataSet)) +
",CASE WHEN (yem_contractamount = yem_salcontractclaamt) THEN paymenttime ELSE null END yem_paymenttime" + ",CASE WHEN (yem_contractamount = yem_salcontractclaamt) THEN paymenttime ELSE null END yem_paymenttime" +
// ",(yem_theamountdue-yem_theamountpaid) yem_theamountowed" + // ",(yem_amountandtax-yem_theamountpaid) yem_theamountowed" +
",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*yem_interestamt end) yem_interest" + ",(case when yem_contractamount = 0 then yem_contractamount else yem_amountandtax /yem_contractamount*yem_interestamt end) yem_interest" +
",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*yem_creditamt end) yem_creditpremiums" + ",(case when yem_contractamount = 0 then yem_contractamount else yem_amountandtax /yem_contractamount*yem_creditamt end) yem_creditpremiums" +
",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*yem_fundpoolamt end) yem_discountsaccessor" + ",(case when yem_contractamount = 0 then yem_contractamount else yem_amountandtax /yem_contractamount*yem_fundpoolamt end) yem_discountsaccessor" +
",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*yem_premiumamt end) yem_insurance" + ",(case when yem_contractamount = 0 then yem_contractamount else yem_amountandtax /yem_contractamount*yem_premiumamt end) yem_insurance" +
",(case when yem_offeramount = 0 then yem_offeramount else yem_theamountdue /yem_offeramount*yem_origcurrepremium end) yem_actualcreditpremium" + ",(case when yem_offeramount = 0 then yem_offeramount else yem_amountandtax /yem_offeramount*yem_origcurrepremium end) yem_actualcreditpremium" +
",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*(yem_seafreight+yem_landcarrycost+yem_airliftcost+yem_expresscost) end) yem_freight"); ",(case when yem_contractamount = 0 then yem_contractamount else yem_amountandtax /yem_contractamount*(yem_seafreight+yem_landcarrycost+yem_airliftcost+yem_expresscost) end) yem_freight");
selected = selected.select(String.join(",", RptUtil.getDataSetFiledAlias(selected)) + selected = selected.select(String.join(",", RptUtil.getDataSetFiledAlias(selected)) +
",CASE WHEN yem_day > 0 AND (yem_paymenttime = null OR yem_duedate < yem_paymenttime) THEN yem_day ELSE '' END yem_daysoverdue"); ",CASE WHEN yem_day > 0 AND (yem_paymenttime = null OR yem_duedate < yem_paymenttime) THEN yem_day ELSE '' END yem_daysoverdue");
selected = selected.removeFields("paymenttime"); selected = selected.removeFields("paymenttime");
@ -185,6 +185,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
} }
//(CASE WHEN true then 0 else (case where true then 1 else 0 end)end) //(CASE WHEN true then 0 else (case where true then 1 else 0 end)end)
/** /**
* 查询收款单 * 查询收款单
* *
@ -284,6 +285,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
} }
/** /**
* 外销合同 * 外销合同
* *
@ -304,7 +306,6 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
} }
/** /**
* 订舱通知单 * 订舱通知单
* *
@ -411,7 +412,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
selectfields.add("TO_CHAR(auditdate, 'yyyy-MM-dd') yem_shipdate"); selectfields.add("TO_CHAR(auditdate, 'yyyy-MM-dd') yem_shipdate");
selectfields.add("yem_duedate yem_duedate");//yem_daysoverdue selectfields.add("yem_duedate yem_duedate");//yem_daysoverdue
selectfields.add("yem_priceclause.name yem_deliverymethod"); selectfields.add("yem_priceclause.name yem_deliverymethod");
selectfields.add("yem_totalallamount yem_theamountdue");//价税合计 selectfields.add("yem_totalallamount yem_amountandtax");//价税合计
selectfields.add("yem_currency.name yem_fullpaymenttime"); selectfields.add("yem_currency.name yem_fullpaymenttime");
selectfields.add("yem_sourcebillid yemEsDelivernoticeyem_sourcebillid"); selectfields.add("yem_sourcebillid yemEsDelivernoticeyem_sourcebillid");
selectfields.add("yem_corebillid yem_corebillids"); selectfields.add("yem_corebillid yem_corebillids");
@ -461,8 +462,10 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
} }
List<String> selectfields = new ArrayList<>(); List<String> selectfields = new ArrayList<>();
selectfields.add("id yemEsDelivernoticesid"); selectfields.add("id yemEsDelivernoticesid");
selectfields.add("yem_es_materialinfo.yem_businesssort yem_businesssorts");
selectfields.add("yem_es_materialinfo.yem_qty yem_qty"); selectfields.add("yem_es_materialinfo.yem_qty yem_qty");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray()); DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
yemShippingdetails = yemShippingdetails.where("yem_businesssorts = 'P'");
yemShippingdetails = yemShippingdetails.groupBy(new String[]{"yemEsDelivernoticesid"}) yemShippingdetails = yemShippingdetails.groupBy(new String[]{"yemEsDelivernoticesid"})
.sum("yem_qty") .sum("yem_qty")
.finish(); .finish();
@ -471,7 +474,36 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
.on("yemEsDelivernoticesid", "yemEsDelivernoticeid") .on("yemEsDelivernoticesid", "yemEsDelivernoticeid")
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails), RptUtil.getDataSetFiledAlias(yemEsDelivernotice)) .select(RptUtil.getDataSetFiledAlias(yemShippingdetails), RptUtil.getDataSetFiledAlias(yemEsDelivernotice))
.finish(); .finish();
DataSet addamountandtax = addamountandtax(reportQueryParam);
yemShippingdetails = yemShippingdetails.leftJoin(addamountandtax)
.on("yemEsDelivernoticesid", "addamountandtaxid")
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails), RptUtil.getDataSetFiledAlias(addamountandtax))
.finish();
return yemShippingdetails; return yemShippingdetails;
} }
/**
* 已审核的销售出库单商品明细业务分类为配件的价税合计汇总值
*
* @return
*/
private DataSet addamountandtax(ReportQueryParam reportQueryParam) {
FilterInfo filter = reportQueryParam.getFilter();
String yemContract = filter.getString("yem_billnos");
QFilter qFilter = new QFilter("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
if (!yemContract.isEmpty()) {
qFilter.and("billno", QCP.like, "%" + yemContract + "%");
}
List<String> selectfields = new ArrayList<>();
selectfields.add("id addamountandtaxid");
selectfields.add("yem_es_materialinfo.yem_businesssort yem_businesssort");
selectfields.add("yem_es_materialinfo.yem_amountandtax yem_theamountdue");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
yemShippingdetails = yemShippingdetails.where("yem_businesssort = 'P'");
yemShippingdetails = yemShippingdetails.groupBy(new String[]{"addamountandtaxid"}).sum("yem_theamountdue").finish();
yemShippingdetails = yemShippingdetails.distinct();
return yemShippingdetails;
}
} }