|
@@ -350,7 +350,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
INSERT INTO mdp_std_supplier_item
|
|
INSERT INTO mdp_std_supplier_item
|
|
|
(tenant_id, factory_id, company_id, source_system, item_code, supplier_code, supplier_name, supplier_type, quota_rate, lead_time, min_qty, packaging_qty, price, currency_type, effective_date, expire_date, status, source_biz_key, sync_batch_id, sync_time)
|
|
(tenant_id, factory_id, company_id, source_system, item_code, supplier_code, supplier_name, supplier_type, quota_rate, lead_time, min_qty, packaging_qty, price, currency_type, effective_date, expire_date, status, source_biz_key, sync_batch_id, sync_time)
|
|
|
SELECT tenant_id, factory_id, company_id, 'AIDOP',
|
|
SELECT tenant_id, factory_id, company_id, 'AIDOP',
|
|
|
- COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_name'))),
|
|
|
|
|
|
|
+ IFNULL(COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_name'))), ''),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_name')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_name')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_type')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_type')),
|
|
@@ -369,6 +369,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
source_biz_key, @BatchId, @Now
|
|
source_biz_key, @BatchId, @Now
|
|
|
FROM mdp_stg_source_list
|
|
FROM mdp_stg_source_list
|
|
|
WHERE source_table='srm_purchase' AND IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')), '') <> ''
|
|
WHERE source_table='srm_purchase' AND IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')), '') <> ''
|
|
|
|
|
+ AND IFNULL(COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.icitem_name'))), '') <> ''
|
|
|
ON DUPLICATE KEY UPDATE supplier_name=VALUES(supplier_name), quota_rate=VALUES(quota_rate), lead_time=VALUES(lead_time),
|
|
ON DUPLICATE KEY UPDATE supplier_name=VALUES(supplier_name), quota_rate=VALUES(quota_rate), lead_time=VALUES(lead_time),
|
|
|
min_qty=VALUES(min_qty), packaging_qty=VALUES(packaging_qty), price=VALUES(price), sync_batch_id=VALUES(sync_batch_id),
|
|
min_qty=VALUES(min_qty), packaging_qty=VALUES(packaging_qty), price=VALUES(price), sync_batch_id=VALUES(sync_batch_id),
|
|
|
sync_time=VALUES(sync_time), update_time=CURRENT_TIMESTAMP
|
|
sync_time=VALUES(sync_time), update_time=CURRENT_TIMESTAMP
|
|
@@ -382,8 +383,8 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.number')), source_row_id),
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.number')), source_row_id),
|
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.line')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Line'))),
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.line')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Line'))),
|
|
|
source_table,
|
|
source_table,
|
|
|
- COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ItemNum'))),
|
|
|
|
|
- COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemname')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_name')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Descr'))),
|
|
|
|
|
|
|
+ IFNULL(COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_number')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ItemNum'))), ''),
|
|
|
|
|
+ IFNULL(COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemname')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_name')), JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Descr'))), ''),
|
|
|
COALESCE(
|
|
COALESCE(
|
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) AS DECIMAL(18,6)) END,
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) AS DECIMAL(18,6)) END,
|
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.required_qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.required_qty')) AS DECIMAL(18,6)) END,
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.required_qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.required_qty')) AS DECIMAL(18,6)) END,
|
|
@@ -407,8 +408,8 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
SELECT tenant_id, factory_id, company_id, 'AIDOP',
|
|
SELECT tenant_id, factory_id, company_id, 'AIDOP',
|
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.pr_billno')), source_row_id),
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.pr_billno')), source_row_id),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.line_no')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.line_no')),
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_number')),
|
|
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_name')),
|
|
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_number')), ''),
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.item_name')), ''),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier_number')),
|
|
|
COALESCE(
|
|
COALESCE(
|
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) AS DECIMAL(18,6)) END,
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.qty')) AS DECIMAL(18,6)) END,
|
|
@@ -435,8 +436,8 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Line')) AS CHAR),
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Line')) AS CHAR),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Potype')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Potype')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(m.raw_data,'$.Supp')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(m.raw_data,'$.Supp')),
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.ItemNum')),
|
|
|
|
|
- COALESCE(JSON_UNQUOTE(JSON_EXTRACT(i.raw_data,'$.Descr')), JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Descr'))),
|
|
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.ItemNum')), ''),
|
|
|
|
|
+ IFNULL(COALESCE(JSON_UNQUOTE(JSON_EXTRACT(i.raw_data,'$.Descr')), JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.Descr'))), ''),
|
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyOrded')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyOrded')) AS DECIMAL(18,6)) END, 0),
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyOrded')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyOrded')) AS DECIMAL(18,6)) END, 0),
|
|
|
COALESCE(
|
|
COALESCE(
|
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyReceived')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyReceived')) AS DECIMAL(18,6)) END,
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyReceived')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(d.raw_data,'$.QtyReceived')) AS DECIMAL(18,6)) END,
|
|
@@ -471,7 +472,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.dsnum')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.dsnum')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ponumber')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ponumber')),
|
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.poline')) AS CHAR),
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.poline')) AS CHAR),
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')),
|
|
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')), ''),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.suppliercode')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.suppliercode')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.supplier')),
|
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.schedqty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.schedqty')) AS DECIMAL(18,6)) END,0),
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.schedqty')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.schedqty')) AS DECIMAL(18,6)) END,0),
|
|
@@ -502,7 +503,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.dsnum')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.dsnum')),
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.po_bill')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.po_bill')),
|
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.po_billline')) AS CHAR),
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.po_billline')) AS CHAR),
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')),
|
|
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.itemnum')), ''),
|
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.sh_delivery_quantity')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.sh_delivery_quantity')) AS DECIMAL(18,6)) END,0),
|
|
COALESCE(CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.sh_delivery_quantity')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.sh_delivery_quantity')) AS DECIMAL(18,6)) END,0),
|
|
|
0,
|
|
0,
|
|
|
0,
|
|
0,
|
|
@@ -524,7 +525,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
SELECT tenant_id, 'AIDOP',
|
|
SELECT tenant_id, 'AIDOP',
|
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.WorkOrd')),
|
|
JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.WorkOrd')),
|
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Op')) AS CHAR),
|
|
CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.Op')) AS CHAR),
|
|
|
- JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.PMBOM')),
|
|
|
|
|
|
|
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.PMBOM')), ''),
|
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ItemNum')), source_row_id),
|
|
COALESCE(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.ItemNum')), source_row_id),
|
|
|
COALESCE(
|
|
COALESCE(
|
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.QtyRequired')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.QtyRequired')) AS DECIMAL(18,6)) END,
|
|
CASE WHEN JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.QtyRequired')) REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN CAST(JSON_UNQUOTE(JSON_EXTRACT(raw_data,'$.QtyRequired')) AS DECIMAL(18,6)) END,
|
|
@@ -573,7 +574,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
"""
|
|
"""
|
|
|
INSERT INTO dwd_supply_demand
|
|
INSERT INTO dwd_supply_demand
|
|
|
(tenant_id, stat_date, demand_no, demand_line, demand_type, item_code, item_name, supplier_code, required_qty, fulfilled_qty, shortage_qty, required_date, demand_status, source_system, sync_batch_id, calc_time)
|
|
(tenant_id, stat_date, demand_no, demand_line, demand_type, item_code, item_name, supplier_code, required_qty, fulfilled_qty, shortage_qty, required_date, demand_status, source_system, sync_batch_id, calc_time)
|
|
|
- SELECT tenant_id, @StatDate, demand_no, IFNULL(demand_line,''), demand_type, item_code, item_name, supplier_code,
|
|
|
|
|
|
|
+ SELECT tenant_id, @StatDate, demand_no, IFNULL(demand_line,''), demand_type, IFNULL(item_code,''), IFNULL(item_name,''), supplier_code,
|
|
|
IFNULL(required_qty,0), 0, IFNULL(required_qty,0), required_date, status, source_system, @BatchId, @Now
|
|
IFNULL(required_qty,0), 0, IFNULL(required_qty,0), required_date, status, source_system, @BatchId, @Now
|
|
|
FROM mdp_std_supply_demand
|
|
FROM mdp_std_supply_demand
|
|
|
WHERE IFNULL(demand_no,'') <> ''
|
|
WHERE IFNULL(demand_no,'') <> ''
|
|
@@ -587,7 +588,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
INSERT INTO dwd_supplier_delivery
|
|
INSERT INTO dwd_supplier_delivery
|
|
|
(tenant_id, stat_date, po_no, po_line, po_type, supplier_code, supplier_name, item_code, item_name, order_qty, schedule_qty, delivery_qty, receipt_qty, return_qty, remaining_qty, due_date, need_date, last_delivery_date, last_receipt_date, delivery_status, risk_level, source_system, sync_batch_id, calc_time)
|
|
(tenant_id, stat_date, po_no, po_line, po_type, supplier_code, supplier_name, item_code, item_name, order_qty, schedule_qty, delivery_qty, receipt_qty, return_qty, remaining_qty, due_date, need_date, last_delivery_date, last_receipt_date, delivery_status, risk_level, source_system, sync_batch_id, calc_time)
|
|
|
SELECT po.tenant_id, @StatDate, po.po_no, po.po_line, po.po_type, po.supplier_code, IFNULL(s.supplier_name, ds.supplier_name),
|
|
SELECT po.tenant_id, @StatDate, po.po_no, po.po_line, po.po_type, po.supplier_code, IFNULL(s.supplier_name, ds.supplier_name),
|
|
|
- po.item_code, po.item_name, IFNULL(po.order_qty,0), IFNULL(ds.schedule_qty,0), IFNULL(dr.delivery_qty,0),
|
|
|
|
|
|
|
+ IFNULL(po.item_code,''), IFNULL(po.item_name,''), IFNULL(po.order_qty,0), IFNULL(ds.schedule_qty,0), IFNULL(dr.delivery_qty,0),
|
|
|
IFNULL(po.received_qty,0) + IFNULL(dr.receipt_qty,0), IFNULL(po.returned_qty,0) + IFNULL(dr.return_qty,0),
|
|
IFNULL(po.received_qty,0) + IFNULL(dr.receipt_qty,0), IFNULL(po.returned_qty,0) + IFNULL(dr.return_qty,0),
|
|
|
GREATEST(IFNULL(po.order_qty,0) - IFNULL(po.received_qty,0) - IFNULL(dr.receipt_qty,0) - IFNULL(po.returned_qty,0), 0),
|
|
GREATEST(IFNULL(po.order_qty,0) - IFNULL(po.received_qty,0) - IFNULL(dr.receipt_qty,0) - IFNULL(po.returned_qty,0), 0),
|
|
|
po.due_date, COALESCE(ds.need_date, po.need_date), dr.event_time, dr.receipt_date,
|
|
po.due_date, COALESCE(ds.need_date, po.need_date), dr.event_time, dr.receipt_date,
|
|
@@ -635,7 +636,7 @@ public class S3MdpSyncTransformService : ITransient
|
|
|
"""
|
|
"""
|
|
|
INSERT INTO dwd_supplier_risk
|
|
INSERT INTO dwd_supplier_risk
|
|
|
(tenant_id, stat_date, supplier_code, supplier_name, item_code, risk_type, risk_level, risk_count, risk_qty, risk_reason, source_system, calc_batch_id, calc_time)
|
|
(tenant_id, stat_date, supplier_code, supplier_name, item_code, risk_type, risk_level, risk_count, risk_qty, risk_reason, source_system, calc_batch_id, calc_time)
|
|
|
- SELECT tenant_id, stat_date, IFNULL(supplier_code,''), supplier_name, item_code,
|
|
|
|
|
|
|
+ SELECT tenant_id, stat_date, IFNULL(supplier_code,''), supplier_name, IFNULL(item_code,''),
|
|
|
'DELIVERY_DELAY', risk_level, COUNT(1), SUM(IFNULL(remaining_qty,0)),
|
|
'DELIVERY_DELAY', risk_level, COUNT(1), SUM(IFNULL(remaining_qty,0)),
|
|
|
'供应交付存在延期或未完成风险', 'AIDOP', @BatchId, @Now
|
|
'供应交付存在延期或未完成风险', 'AIDOP', @BatchId, @Now
|
|
|
FROM dwd_supplier_delivery
|
|
FROM dwd_supplier_delivery
|