fix:
1.配件发货明细表(已发货)逻辑修改
This commit is contained in:
parent
d26d5dcc7b
commit
9ceaea2803
@ -75,14 +75,14 @@ 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");
|
||||||
selected = selected.distinct();
|
selected = selected.distinct();
|
||||||
@ -111,16 +111,16 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
if (YEM.isNotEmpty(yem_shipdatesdis)) {
|
if (YEM.isNotEmpty(yem_shipdatesdis)) {
|
||||||
sb.append(" AND yem_shipdate <= '").append("%").append(yem_shipdatesdis).append("%").append("'");
|
sb.append(" AND yem_shipdate <= '").append("%").append(yem_shipdatesdis).append("%").append("'");
|
||||||
}
|
}
|
||||||
if (YEM.isNotEmpty(yem_bd_producttype)){
|
if (YEM.isNotEmpty(yem_bd_producttype)) {
|
||||||
List<String> names = new ArrayList<>();
|
List<String> names = new ArrayList<>();
|
||||||
for (DynamicObject dynamicObject : yem_bd_producttype) {
|
for (DynamicObject dynamicObject : yem_bd_producttype) {
|
||||||
String name = dynamicObject.getString("name");
|
String name = dynamicObject.getString("name");
|
||||||
names.add(name);
|
names.add(name);
|
||||||
// sb.append(" AND yem_bd_products = ").append("'" +name + "'");
|
// sb.append(" AND yem_bd_products = ").append("'" +name + "'");
|
||||||
}
|
}
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("var",names);
|
map.put("var", names);
|
||||||
result = result.filter("yem_bd_products in var",map);
|
result = result.filter("yem_bd_products in var", map);
|
||||||
|
|
||||||
}
|
}
|
||||||
DataSet where = result.where(sb.toString());
|
DataSet where = result.where(sb.toString());
|
||||||
@ -134,12 +134,12 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
objects.add(l);
|
objects.add(l);
|
||||||
}
|
}
|
||||||
DataSet rows = querySalesOrder_PayRate(objects);
|
DataSet rows = querySalesOrder_PayRate(objects);
|
||||||
distincted = distincted.leftJoin(rows).on("queryDeliverNoticeid","main_id_payrate_fk").select(RptUtil.getDataSetFiledAlias(distincted),RptUtil.getDataSetFiledAlias(rows)).finish();
|
distincted = distincted.leftJoin(rows).on("queryDeliverNoticeid", "main_id_payrate_fk").select(RptUtil.getDataSetFiledAlias(distincted), RptUtil.getDataSetFiledAlias(rows)).finish();
|
||||||
distincted = RptUtil.zeroNullNums(distincted);
|
distincted = RptUtil.zeroNullNums(distincted);
|
||||||
|
|
||||||
distincted = distincted.select(String.join(",",RptUtil.getDataSetFiledAlias(distincted))+",yem_theamountdue * prod_rate/100 yem_theamountdueprod_rate" +//下单预收
|
distincted = distincted.select(String.join(",", RptUtil.getDataSetFiledAlias(distincted)) + ",yem_theamountdue * prod_rate/100 yem_theamountdueprod_rate" +//下单预收
|
||||||
",yem_theamountdue*ship_rate/100 yem_theamountdueship_rate"+//发货预收
|
",yem_theamountdue*ship_rate/100 yem_theamountdueship_rate" +//发货预收
|
||||||
",yem_theamountdue*final_rate/100 yem_theamountduefinal_rate"+//尾款
|
",yem_theamountdue*final_rate/100 yem_theamountduefinal_rate" +//尾款
|
||||||
",yem_theamountdue*prod_rate/100+yem_theamountdue*ship_rate/100 yem_theamountdueprod_ship" +//预收
|
",yem_theamountdue*prod_rate/100+yem_theamountdue*ship_rate/100 yem_theamountdueprod_ship" +//预收
|
||||||
",yem_theamountdue*final_rate/100+yem_theamountdue*prod_rate/100 yem_theamountduefinal_prod" +//下单预收+尾款
|
",yem_theamountdue*final_rate/100+yem_theamountdue*prod_rate/100 yem_theamountduefinal_prod" +//下单预收+尾款
|
||||||
",yem_theamountdue*ship_rate/100+yem_theamountdue*prod_rate/100 yem_theamountdueship_prod" +//发货预收+尾款
|
",yem_theamountdue*ship_rate/100+yem_theamountdue*prod_rate/100 yem_theamountdueship_prod" +//发货预收+尾款
|
||||||
@ -174,7 +174,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
" yem_theamountdueship_prod" +
|
" yem_theamountdueship_prod" +
|
||||||
//发货预收+尾款
|
//发货预收+尾款
|
||||||
" WHEN yem_endpaydate IS NOT NULL AND yem_endpaydate !='' AND yem_prodpaydate IS NOT NULL AND yem_prodpaydate !='' AND yem_shippaydate IS NOT NULL AND yem_shippaydate != '' THEN" +//
|
" WHEN yem_endpaydate IS NOT NULL AND yem_endpaydate !='' AND yem_prodpaydate IS NOT NULL AND yem_prodpaydate !='' AND yem_shippaydate IS NOT NULL AND yem_shippaydate != '' THEN" +//
|
||||||
" yem_theamountduefinal_ship_prod"+
|
" yem_theamountduefinal_ship_prod" +
|
||||||
//预收+尾款
|
//预收+尾款
|
||||||
" ELSE " +
|
" ELSE " +
|
||||||
" 0.0" +
|
" 0.0" +
|
||||||
@ -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)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询收款单
|
* 查询收款单
|
||||||
*
|
*
|
||||||
@ -243,16 +244,16 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
return dataSet;
|
return dataSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 外销合同
|
* 外销合同
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private DataSet queryDeliverNotice() {
|
private DataSet queryDeliverNotice() {
|
||||||
QFilter qFilter = getBaseQFilter();
|
QFilter qFilter = getBaseQFilter();
|
||||||
qFilter.and("yem_es_materialinfo.yem_businesssort",QCP.equals,"P");
|
qFilter.and("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
|
||||||
// qFilter.and("yem_signconfirmstatus",QCP.equals,"A");
|
// qFilter.and("yem_signconfirmstatus",QCP.equals,"A");
|
||||||
qFilter.and("yem_cancelstatus",QCP.equals,"A");
|
qFilter.and("yem_cancelstatus", QCP.equals, "A");
|
||||||
List<String> selectfields = new ArrayList<>();
|
List<String> selectfields = new ArrayList<>();
|
||||||
selectfields.add("id queryDeliverNoticeid");
|
selectfields.add("id queryDeliverNoticeid");
|
||||||
selectfields.add("yem_operator.name yem_salesman");
|
selectfields.add("yem_operator.name yem_salesman");
|
||||||
@ -278,40 +279,40 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
// selectfields.add("yem_es_materialinfo.yem_businesssort yem_customsdeclaration1");
|
// selectfields.add("yem_es_materialinfo.yem_businesssort yem_customsdeclaration1");
|
||||||
DataSet yemEsSalesorder = ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
|
DataSet yemEsSalesorder = ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
|
||||||
DataSet esSalesorder = yemEsSalesorder();
|
DataSet esSalesorder = yemEsSalesorder();
|
||||||
yemEsSalesorder=yemEsSalesorder.leftJoin(esSalesorder).on("queryDeliverNoticeid","yemEsSalesorderid")
|
yemEsSalesorder = yemEsSalesorder.leftJoin(esSalesorder).on("queryDeliverNoticeid", "yemEsSalesorderid")
|
||||||
.select(RptUtil.getDataSetFiledAlias(yemEsSalesorder), RptUtil.getDataSetFiledAlias(esSalesorder)).finish();
|
.select(RptUtil.getDataSetFiledAlias(yemEsSalesorder), RptUtil.getDataSetFiledAlias(esSalesorder)).finish();
|
||||||
return yemEsSalesorder;
|
return yemEsSalesorder;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 外销合同
|
/**
|
||||||
*
|
* 外销合同
|
||||||
* @return
|
*
|
||||||
*/
|
* @return
|
||||||
|
*/
|
||||||
private DataSet yemEsSalesorder() {
|
private DataSet yemEsSalesorder() {
|
||||||
QFilter qFilter = getBaseQFilter();
|
QFilter qFilter = getBaseQFilter();
|
||||||
qFilter.and("yem_es_materialinfo.yem_businesssort",QCP.equals,"P");
|
qFilter.and("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
|
||||||
qFilter.and("yem_cancelstatus",QCP.equals,"A");
|
qFilter.and("yem_cancelstatus", QCP.equals, "A");
|
||||||
List<String> selectfields = new ArrayList<>();
|
List<String> selectfields = new ArrayList<>();
|
||||||
selectfields.add("id yemEsSalesorderid");
|
selectfields.add("id yemEsSalesorderid");
|
||||||
selectfields.add("yem_es_materialinfo.yem_qty yem_numbercontracts");
|
selectfields.add("yem_es_materialinfo.yem_qty yem_numbercontracts");
|
||||||
DataSet yemEsSalesorder = ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
|
DataSet yemEsSalesorder = ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
|
||||||
yemEsSalesorder =yemEsSalesorder.groupBy(new String[]{"yemEsSalesorderid"}).sum("yem_numbercontracts").finish();
|
yemEsSalesorder = yemEsSalesorder.groupBy(new String[]{"yemEsSalesorderid"}).sum("yem_numbercontracts").finish();
|
||||||
return yemEsSalesorder;
|
return yemEsSalesorder;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订舱通知单
|
* 订舱通知单
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private DataSet yemContainernumber() {
|
private DataSet yemContainernumber() {
|
||||||
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("id yemContainernumberid");
|
selectfields.add("id yemContainernumberid");
|
||||||
selectfields.add("yem_offeramount yem_offeramount");
|
selectfields.add("yem_offeramount yem_offeramount");
|
||||||
@ -368,9 +369,9 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
selectfield.add("yem_receiptdetail.yem_claimdetail.yem_salcontractno.id yem_salcontractnoid");//收款单的合同号id
|
selectfield.add("yem_receiptdetail.yem_claimdetail.yem_salcontractno.id yem_salcontractnoid");//收款单的合同号id
|
||||||
selectfield.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') paymenttime");//收款单的合同金额 to_char(sysdate,'yyyy')
|
selectfield.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') paymenttime");//收款单的合同金额 to_char(sysdate,'yyyy')
|
||||||
DataSet yemShippingdetail = ORM.create().queryDataSet(algoKey, "yem_gathering", String.join(",", selectfield), qFilter.toArray());
|
DataSet yemShippingdetail = ORM.create().queryDataSet(algoKey, "yem_gathering", String.join(",", selectfield), qFilter.toArray());
|
||||||
yemShippingdetails =yemShippingdetails.leftJoin(yemShippingdetail)
|
yemShippingdetails = yemShippingdetails.leftJoin(yemShippingdetail)
|
||||||
.on("yem_titleid","yem_salcontractnoid")
|
.on("yem_titleid", "yem_salcontractnoid")
|
||||||
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails),RptUtil.getDataSetFiledAlias(yemShippingdetail))
|
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails), RptUtil.getDataSetFiledAlias(yemShippingdetail))
|
||||||
.finish();
|
.finish();
|
||||||
return yemShippingdetails.distinct();
|
return yemShippingdetails.distinct();
|
||||||
}
|
}
|
||||||
@ -387,7 +388,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
selectfields.add("yem_transportstyle.name yem_shippingmethod");
|
selectfields.add("yem_transportstyle.name yem_shippingmethod");
|
||||||
selectfields.add("yem_sourcebillid yemShippingdetailsyem_sourcebillid");
|
selectfields.add("yem_sourcebillid yemShippingdetailsyem_sourcebillid");
|
||||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_shippingdetails", String.join(",", selectfields), qFilter.toArray());
|
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_shippingdetails", String.join(",", selectfields), qFilter.toArray());
|
||||||
yemShippingdetails = yemShippingdetails.select(String.join(",",RptUtil.getDataSetFiledAlias(yemShippingdetails))+
|
yemShippingdetails = yemShippingdetails.select(String.join(",", RptUtil.getDataSetFiledAlias(yemShippingdetails)) +
|
||||||
",CASE WHEN yem_boardaccessor = 'A' THEN '是' ELSE '否' END yem_boardaccessory");
|
",CASE WHEN yem_boardaccessor = 'A' THEN '是' ELSE '否' END yem_boardaccessory");
|
||||||
yemShippingdetails = yemShippingdetails
|
yemShippingdetails = yemShippingdetails
|
||||||
.groupBy(new String[]{"yemShippingdetailsyem_sourcebillid"})
|
.groupBy(new String[]{"yemShippingdetailsyem_sourcebillid"})
|
||||||
@ -411,26 +412,26 @@ 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");
|
||||||
selectfields.add("'' yem_day");
|
selectfields.add("'' yem_day");
|
||||||
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());
|
||||||
DynamicObjectCollection plainDynamicObjectCollection = ORM.create().toPlainDynamicObjectCollection(yemShippingdetails);
|
DynamicObjectCollection plainDynamicObjectCollection = ORM.create().toPlainDynamicObjectCollection(yemShippingdetails);
|
||||||
if (!plainDynamicObjectCollection.isEmpty()){
|
if (!plainDynamicObjectCollection.isEmpty()) {
|
||||||
for (DynamicObject dynamicObject : plainDynamicObjectCollection) {
|
for (DynamicObject dynamicObject : plainDynamicObjectCollection) {
|
||||||
Date yem_duedate = dynamicObject.getDate("yem_duedate");
|
Date yem_duedate = dynamicObject.getDate("yem_duedate");
|
||||||
Date data = new Date();
|
Date data = new Date();
|
||||||
if (yem_duedate!=null){
|
if (yem_duedate != null) {
|
||||||
LocalDate date1 = convertDateToLocalDate(yem_duedate);
|
LocalDate date1 = convertDateToLocalDate(yem_duedate);
|
||||||
LocalDate date2 = convertDateToLocalDate(data);
|
LocalDate date2 = convertDateToLocalDate(data);
|
||||||
long Chrono = ChronoUnit.DAYS.between(date1,date2 );
|
long Chrono = ChronoUnit.DAYS.between(date1, date2);
|
||||||
dynamicObject.set("yem_day",Chrono);
|
dynamicObject.set("yem_day", Chrono);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
yemShippingdetails= RptUtil.plainDataSet(algoKey, yemShippingdetails,plainDynamicObjectCollection );
|
yemShippingdetails = RptUtil.plainDataSet(algoKey, yemShippingdetails, plainDynamicObjectCollection);
|
||||||
return yemShippingdetails;
|
return yemShippingdetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,13 +457,15 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
|
|||||||
// Date yem_shipdatesend = filter.getDate("yem_shipdatesend");
|
// Date yem_shipdatesend = filter.getDate("yem_shipdatesend");
|
||||||
// Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis");
|
// Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis");
|
||||||
QFilter qFilter = new QFilter("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
|
QFilter qFilter = new QFilter("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
|
||||||
if (!yemContract.isEmpty()){
|
if (!yemContract.isEmpty()) {
|
||||||
qFilter.and("billno",QCP.like,"%"+yemContract+"%");
|
qFilter.and("billno", QCP.like, "%" + yemContract + "%");
|
||||||
}
|
}
|
||||||
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user