fix:
1.报表处理 2.订舱通知单增加效验
This commit is contained in:
parent
9102995aa3
commit
c62ff30599
@ -5,6 +5,7 @@ import com.yem.wm.utils.RptUtil;
|
||||
import com.yem.wm.utils.YEM;
|
||||
import com.yem.wm.utils.groupfunc.GroupConcatFunction;
|
||||
import com.yem.wm.utils.groupfunc.GroupConcatFunctionByComma;
|
||||
import com.yem.wm.utils.groupfunc.GroupTopOneFunction;
|
||||
import kd.bos.algo.*;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
||||
@ -28,6 +29,7 @@ import static com.yem.rf.utils.RFUtils.getBaseQFilter;
|
||||
*/
|
||||
public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
private static final String algoKey = SalesCommissionReportPlugin.class.getName();
|
||||
|
||||
@Override
|
||||
public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
|
||||
DataSet resDataSet;
|
||||
@ -35,6 +37,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
DataSet yemImTradeapp = yem_im_tradeapp(reportQueryParam);
|
||||
DataSet yemsDeclaredocx = yemsDeclaredocx(reportQueryParam);
|
||||
DataSet yemContainer = yemContainer();
|
||||
DataSet delivernotices = delivernotice();
|
||||
DataSet yem_es_delivernotice = yem_es_delivernotice(reportQueryParam);
|
||||
resDataSet = yemsDeclaredocx.leftJoin(yemContainer)
|
||||
.on("declaredocxyem_sourcebillid", "storagetransid")
|
||||
@ -50,6 +53,10 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
.on("shippingdetailsid", "delivernoticeyem_sourcebillid")//单据id 来源单据id
|
||||
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(yem_es_delivernotice))
|
||||
.finish();
|
||||
resDataSet = resDataSet.leftJoin(delivernotices)
|
||||
.on("shippingdetailsid","delivernoticebillid")
|
||||
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(delivernotices))
|
||||
.finish();
|
||||
//整机配件货款延付申请单
|
||||
resDataSet = resDataSet.leftJoin(yemImTradeapp)
|
||||
.on("shippingdetailsid", "tradeappyem_sourcebillid")//单据id 来源单据id
|
||||
@ -57,8 +64,6 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
.finish();
|
||||
DataSet selected = resDataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(resDataSet)) +
|
||||
",CASE WHEN DATEDIF(yem_lookoutdate,yem_datearrival,D) != -1 THEN DATEDIF(yem_lookoutdate,yem_datearrival,D) ELSE null END yem_flightnumberdays");
|
||||
|
||||
|
||||
FilterInfo filter = reportQueryParam.getFilter();
|
||||
String yemLading = filter.getString("yem_lading");
|
||||
String yemContract = filter.getString("yem_contract");
|
||||
@ -74,7 +79,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
sb.append(" AND yem_ladingnumber like '").append("%").append(yemLading).append("%").append("'");
|
||||
}
|
||||
if (YEM.isNotEmpty(yemClient)) {
|
||||
sb.append(" AND yem_customername = ").append("'"+yemClient.getString("name")+"'");
|
||||
sb.append(" AND yem_customername = ").append("'" + yemClient.getString("name") + "'");
|
||||
}
|
||||
if (YEM.isNotEmpty(yemShipping)) {
|
||||
sb.append(" AND yem_shipment like '").append("%").append(yemShipping).append("%").append("'");
|
||||
@ -94,15 +99,15 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
Date start = filter.getDate("yem_Billofladingday");//提单日期-开始
|
||||
Date end = filter.getDate("yem_Lookoutdateawbday");//提单日期-结束
|
||||
qFilter.and("yem_sumopbill",QCP.equals,"B");
|
||||
qFilter.and("yem_sumopbill", QCP.equals, "B");
|
||||
if (YEM.isNotEmpty(start)) {
|
||||
qFilter.and("yem_tddate", ">=", start);
|
||||
}
|
||||
if (YEM.isNotEmpty(end)) {
|
||||
qFilter.and("yem_tddate", "<=", end);
|
||||
}
|
||||
qFilter.and("yem_customsdeclaration1",QCP.equals,"B");
|
||||
qFilter.and("yem_corebillid",QCP.not_equals,0);
|
||||
qFilter.and("yem_customsdeclaration1", QCP.equals, "B");
|
||||
qFilter.and("yem_corebillid", QCP.not_equals, 0);
|
||||
List<String> selectfields = new ArrayList<>();
|
||||
selectfields.add("id yem_es_materialinfoid");
|
||||
selectfields.add("billno billno");
|
||||
@ -112,8 +117,6 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
.groupBy(new String[]{"yem_splitopbill", "yem_es_materialinfoid"})
|
||||
.finish();
|
||||
DataSet rows = yemEsDeclaredocx(reportQueryParam);
|
||||
|
||||
|
||||
//获取值
|
||||
rows = rows.select(String.join(",", RptUtil.getDataSetFiledAlias(rows)) +
|
||||
",case when yem_bringbillno != '' THEN yem_bringbillno else yem_realbringbillno end yem_ladingnumber");
|
||||
@ -133,14 +136,14 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
Date start = filter.getDate("yem_Billofladingday");//提单日期-开始
|
||||
Date end = filter.getDate("yem_Lookoutdateawbday");//提单日期-结束
|
||||
qFilter.and("yem_sumopbill",QCP.equals,"B");
|
||||
qFilter.and("yem_sumopbill", QCP.equals, "B");
|
||||
if (YEM.isNotEmpty(start)) {
|
||||
qFilter.and("yem_tddate", ">=", start);
|
||||
}
|
||||
if (YEM.isNotEmpty(end)) {
|
||||
qFilter.and("yem_tddate", "<=", end);
|
||||
}
|
||||
qFilter.and("yem_customsdeclaration1",QCP.equals,"B");
|
||||
qFilter.and("yem_customsdeclaration1", QCP.equals, "B");
|
||||
List<String> selectfields = new ArrayList<>();
|
||||
selectfields.add("yem_customsdeclaration1");
|
||||
selectfields.add("id yem_es_declare_ecid");
|
||||
@ -150,6 +153,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
selectfields.add("yem_realbringbillno yem_realbringbillno");//提单号
|
||||
selectfields.add("TO_CHAR(yem_ddpdate, 'yyyy-MM-dd') yem_customsclearance");//清关提货日
|
||||
selectfields.add("yem_sourcebillid declaredocxyem_sourcebillid");
|
||||
selectfields.add("yem_totalcontractno yem_contractnumber");
|
||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_declaredocx", String.join(",", selectfields)
|
||||
, qFilter.toArray()).orderBy(new String[]{"yem_bizdate DESC"});
|
||||
|
||||
@ -176,17 +180,17 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
selectfields.add("TO_CHAR(yem_arrivaldate, 'yyyy-MM-dd') yem_datearrival");//到港日
|
||||
selectfields.add("yem_sourcebillid storagetransyemSourcebillid");
|
||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_storagetrans", String.join(",", selectfields), qFilter.toArray());
|
||||
yemShippingdetails =yemShippingdetails.distinct();
|
||||
yemShippingdetails = yemShippingdetails.distinct();
|
||||
//获取集装箱号
|
||||
List<String> selectfield = new ArrayList<>();
|
||||
selectfield.add("yem_mainladingno yem_mainladingno");//提单号/运单号
|
||||
selectfield.add("yem_im_encasement_ci.yem_encasenum yem_containernumbers");
|
||||
DataSet yemImEncasement = ORM.create().queryDataSet(algoKey, "yem_im_encasement", String.join(",", selectfield), qFilter.toArray());
|
||||
yemImEncasement = yemImEncasement.groupBy(new String[]{"yem_mainladingno"}).agg(new GroupConcatFunction(),"yem_containernumbers","yem_containernumber").finish();
|
||||
yemImEncasement = yemImEncasement.groupBy(new String[]{"yem_mainladingno"}).agg(new GroupConcatFunction(), "yem_containernumbers", "yem_containernumber").finish();
|
||||
//订舱通知单左连接装箱单
|
||||
yemShippingdetails = yemShippingdetails.leftJoin(yemImEncasement)
|
||||
.on("yem_noticeno","yem_mainladingno")
|
||||
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails),RptUtil.getDataSetFiledAlias(yemImEncasement))
|
||||
.on("yem_noticeno", "yem_mainladingno")
|
||||
.select(RptUtil.getDataSetFiledAlias(yemShippingdetails), RptUtil.getDataSetFiledAlias(yemImEncasement))
|
||||
.finish();
|
||||
yemShippingdetails = yemShippingdetails.select(String.join(",", RptUtil.getDataSetFiledAlias(yemShippingdetails)) +
|
||||
",case when yem_noticeno != '' THEN yem_noticeno else yem_housebillofladnum end yem_ladingnumbers");
|
||||
@ -194,7 +198,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
* @return 订舱通知单
|
||||
*/
|
||||
private DataSet yemContainer() {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
@ -203,7 +207,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
selectfields.add("yem_es_materialinfo.yem_sourcebillno_d yem_sourcebillno_d");//提单号/运单号
|
||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_storagetrans", String.join(",", selectfields), qFilter.toArray());
|
||||
yemShippingdetails = yemShippingdetails
|
||||
.groupBy(new String[]{"storagetransids"}).agg(new GroupConcatFunctionByComma(),"yem_sourcebillno_d","yem_shipment")
|
||||
.groupBy(new String[]{"storagetransids"}).agg(new GroupConcatFunctionByComma(), "yem_sourcebillno_d", "yem_shipment")
|
||||
.finish();
|
||||
DataSet yemContainernumber = yemContainernumber();
|
||||
yemShippingdetails = yemShippingdetails.leftJoin(yemContainernumber)
|
||||
@ -223,7 +227,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
List<String> selectfields = new ArrayList<>();
|
||||
selectfields.add("id shippingdetailsid");
|
||||
selectfields.add("yem_saleorderno yem_contractnumber");//外销合同号
|
||||
// selectfields.add("yem_saleorderno yem_contractnumbers");//外销合同号
|
||||
selectfields.add("yem_issinosurecon yem_insurancecontract");//是否信保合同
|
||||
selectfields.add("yem_operator.name yem_salesman");//销售员
|
||||
selectfields.add("yem_customer.name yem_customername");//客户名称
|
||||
@ -233,6 +237,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
return ORM.create().queryDataSet(algoKey, "yem_shippingdetails", String.join(",", selectfields), qFilter.toArray());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 整机配件货款延付申请单
|
||||
*
|
||||
@ -256,10 +261,21 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
List<String> selectfields = new ArrayList<>();
|
||||
selectfields.add("id delivernoticeid");
|
||||
selectfields.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_datebusiness");//发货日期
|
||||
selectfields.add("yem_bizdate yem_annual");//发货日期
|
||||
selectfields.add("yem_sourcebillid delivernoticeyem_sourcebillid");
|
||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
|
||||
return yemShippingdetails;
|
||||
} /**
|
||||
* 销售出库
|
||||
*/
|
||||
private DataSet delivernotice() {
|
||||
QFilter qFilter = getBaseQFilter();
|
||||
List<String> selectfields = new ArrayList<>();
|
||||
selectfields.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_datebus");//发货日期
|
||||
selectfields.add("yem_sourcebillid delivernoticebillid");
|
||||
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
|
||||
yemShippingdetails = yemShippingdetails.groupBy(new String[]{"delivernoticebillid"}).agg(new GroupTopOneFunction(),"yem_datebus","yem_datebusiness").finish();
|
||||
return yemShippingdetails;
|
||||
}
|
||||
|
||||
}
|
@ -17,6 +17,7 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 订舱通知单_信保回填
|
||||
@ -96,7 +97,10 @@ public class StorageTransEdit_xbs extends AbstractBillPlugIn {
|
||||
if ("statusconvert_s".equals(operateKey)) {
|
||||
DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("yem_creditdetail");
|
||||
for (DynamicObject dynamicObject : collection) {
|
||||
dynamicObject.set("yem_creditstatus_e", "A");
|
||||
Date yemYearE = dynamicObject.getDate("yem_year_e");
|
||||
if (yemYearE!=null) {
|
||||
dynamicObject.set("yem_creditstatus_e", "A");
|
||||
}
|
||||
}
|
||||
SaveServiceHelper.update(dataEntity);
|
||||
view.invokeOperation("refresh");
|
||||
|
Loading…
Reference in New Issue
Block a user