Compare commits

...

5 Commits

Author SHA1 Message Date
zzs
82a4a258bd feat:整机发运明细表增加字段,调拨日期
(cherry picked from commit 70fbbdfc57)
2025-02-14 14:10:26 +08:00
zzs
0b59343a3f feat:发车日报,修改未付款数量取值
(cherry picked from commit de8651140d)
2025-02-14 14:10:23 +08:00
zzs
8b62770290 feat:销售出库单修改发货日期为审核日志
(cherry picked from commit b15fb4b118)
2025-02-14 14:10:21 +08:00
zzs
1c201016e3 feat:报表国贸订单明细增加字段取消数量、有效数量
(cherry picked from commit 337ea83280)
2025-02-14 14:10:19 +08:00
zzs
6db4ccf9b3 feat:跟单任务控制台,填写取消数量后,不能有整机生产信息
(cherry picked from commit 23142ed75e)
2025-02-14 14:10:17 +08:00
4 changed files with 94 additions and 6 deletions

View File

@ -472,10 +472,41 @@ public class CompleteShipDetailReportPlugin extends AbstractReportListDataPlugin
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray());
DataSet transformDataSet = queryTransformDate();
transformDataSet = transformDataSet.leftJoin(dataSet)
.on("tr_fk_vehicleno", "yem_vehicleno")
.select(RptUtil.getDataSetFiledAlias(transformDataSet) ,RptUtil.getDataSetFiledAlias(dataSet))
.finish();
transformDataSet = transformDataSet.select("yem_transformdate, main_detail_id_vno_fk main_detail_id_vno_fk_tr");
dataSet = dataSet.groupBy(new String[]{"main_detail_id_vno_fk"})
.agg(new GroupConcatFunctionByComma(), "yem_vehicleno", "yem_vehicleno")
.finish();
dataSet = dataSet.select("main_detail_id_vno_fk", "yem_vehicleno");
dataSet = dataSet.leftJoin(transformDataSet)
.select(RptUtil.getDataSetFiledAlias(transformDataSet) ,RptUtil.getDataSetFiledAlias(dataSet))
.on("main_detail_id_vno_fk", "main_detail_id_vno_fk_tr")
.finish();
dataSet = dataSet.select("main_detail_id_vno_fk", "yem_vehicleno", "yem_transformdate");
return dataSet;
}
/**
* 查询调拨订单申请单调拨业务日期
* @return
*/
private DataSet queryTransformDate() {
QFilter qFilter = getBaseQFilter();
qFilter.and(new QFilter("yem_es_materialinfo.yem_remark", "!=",""));
ArrayList<String> selectfields = Lists.newArrayList();
selectfields.add("yem_es_materialinfo.yem_remark tr_fk_vehicleno");//整机编号
selectfields.add("yem_bizdate yem_transformdate");//业务日期
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_transferorder", String.join(",", selectfields), qFilter.toArray()).orderBy(new String[]{"yem_transformdate DESC"});
dataSet = dataSet.select("TO_CHAR(yem_transformdate, 'yyyy-MM-dd') yem_transformdate, tr_fk_vehicleno");
return dataSet;
}
@ -562,11 +593,11 @@ public class CompleteShipDetailReportPlugin extends AbstractReportListDataPlugin
selectfields.add("yem_es_materialinfo.id dn_detail_id");
selectfields.add("yem_es_materialinfo.yem_sourceentryid ship_detail_id_dn_fk");
selectfields.add("yem_es_materialinfo.yem_coreentryid main_detail_id_dn_fk");
selectfields.add("yem_bizdate");//发货日期
selectfields.add("auditdate");//发货日期
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
return dataSet.select("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_shipdate, dn_detail_id, ship_detail_id_dn_fk, main_detail_id_dn_fk, yem_dnbillno");
return dataSet.select("TO_CHAR(auditdate, 'yyyy-MM-dd') yem_shipdate, dn_detail_id, ship_detail_id_dn_fk, main_detail_id_dn_fk, yem_dnbillno");
}

View File

@ -242,7 +242,7 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
DataSet dataSet;
DataSet placeexamine = queryPlaceExamine(param);//BC下单审批
DataSet salesorder = querySalesOrder(param);
DataSet trackTaskConsole = queryTrackTaskConsole(param);
dataSet = placeexamine.leftJoin(salesorder)
.on("source_order_id_placeexamine_fk", "order_id")
.select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder))
@ -259,9 +259,34 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin {
.groupBy(new String[]{"order_product_id_main_fk"})
.sum("yem_qty")
.finish();
dataSet = dataSet.leftJoin(trackTaskConsole)
.on("order_product_id_main_fk", "tkconsole_product_id_main_fk")
.select(RptUtil.getDataSetFiledAlias(dataSet), RptUtil.getDataSetFiledAlias(trackTaskConsole))
.finish();
dataSet = RptUtil.zeroNullNums(dataSet);
dataSet = dataSet.select("order_product_id_main_fk, yem_qty - yem_cancel_num yem_nooay");
return dataSet;
}
dataSet = dataSet.select("order_product_id_main_fk, yem_qty yem_nooay");
/**
* 查询跟单任务控制台取消数量
* @param param
* @return
*/
private DataSet queryTrackTaskConsole(ReportQueryParam param) {
QFilter qFilter = getBaseQFilter();
List<String> selectfields = new ArrayList<>();
selectfields.add("id tkconsole_id");
selectfields.add("billno tkconsole_no");
selectfields.add("yem_es_materialinfo.yem_resourcenog.yem_products.group.id tkconsole_product_id_main_fk");
selectfields.add("yem_es_materialinfo.yem_cancel_num yem_cancel_num");
DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_tracktaskconsole", String.join(",", selectfields), qFilter.toArray());
dataSet = dataSet
.groupBy(new String[]{"tkconsole_product_id_main_fk"})
.sum("yem_cancel_num")
.finish();
return dataSet;
}

View File

@ -109,7 +109,7 @@ public class ITCOrderDetailsReportPlugin extends AbstractReportListDataPlugin {
DataSet where = resDataSet.where(sb.toString());
DataSet select = where.select(String.join(",", RptUtil.getDataSetFiledAlias(where)) +
", TO_CHAR(forderdate, 'yyyy-MM-dd') yem_orderdate");
", TO_CHAR(forderdate, 'yyyy-MM-dd') yem_orderdate, yem_reqqty - yem_cancel_num yem_effective_num");
resDataSet = fillWithCMMPQty(select);
return resDataSet.distinct();
@ -224,6 +224,7 @@ public class ITCOrderDetailsReportPlugin extends AbstractReportListDataPlugin {
detail.add("yem_es_materialinfo.yem_sourceentryid plan_detail_source_id");
// detail.add("yem_es_materialinfo.yem_ifreformg yem_ifreform");//是否改制
detail.add("yem_es_materialinfo.yem_remarks yem_remark");//备注
detail.add("yem_es_materialinfo.yem_cancel_num yem_cancel_num");//取消数量
detail.add("yem_nameplatelogo.id yem_nameplatelogo");//铭牌标识
detail.add("yem_nameplatetype yem_nameplatetype");//铭牌类型

View File

@ -5,6 +5,11 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.validate.AbstractValidator;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author zhouc
* @date 2023/10/11 19:12
@ -37,6 +42,32 @@ public class TracktaskconsoleSavevalidator extends AbstractValidator {
}
}
}
StringBuilder sb = new StringBuilder();
DynamicObjectCollection c = dataEntity.getDynamicObjectCollection("yem_es_materialinfo");
Map<Long, Integer> cancelQty = new LinkedHashMap<>();
for (DynamicObject d : c) {
long id = d.getLong("id");
BigDecimal cancel_num = d.getBigDecimal("yem_cancel_num");
if (cancel_num.compareTo(BigDecimal.ZERO) > 0) {
cancelQty.put(id, c.indexOf(d));
}
}
DynamicObjectCollection backC = dataEntity.getDynamicObjectCollection("yem_es_salesorder_r");
for (DynamicObject d : backC) {
long entrtyid = d.getLong("yem_entrtyid");
if (cancelQty.containsKey(entrtyid)) {
Integer idx = cancelQty.get(entrtyid);
DynamicObjectCollection subC = d.getDynamicObjectCollection("yem_es_salesorder_z");
if (!subC.isEmpty()) {
sb.append(String.format("商品明细第 %s 行已维护取消数量,不允许维护整机生产信息!", idx + 1)).append("\r\n");
}
}
}
if (sb.length() > 0) {
this.addErrorMessage(dataEntitie, sb.toString());
}
}
}
}