Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
SELECT'本期'ASperiod, COUNT(DISTINCT s.code) AS order_cnt,
COUNT(DISTINCT s.customer_code) AS cust_cnt,
ROUND(SUM(om.material_quantity*om.purchase_price*om.exch_rate),2) AS amount_cny
FROM tb_erp_sale s JOIN tb_erp_order_material om ON s.code=om.order_code
WHERE s.create_time >='{S}'AND s.create_time <'{E}'UNIONALLSELECT'上期', COUNT(DISTINCT s.code), COUNT(DISTINCT s.customer_code),
ROUND(SUM(om.material_quantity*om.purchase_price*om.exch_rate),2)
FROM tb_erp_sale s JOIN tb_erp_order_material om ON s.code=om.order_code
WHERE s.create_time >='{PS}'AND s.create_time <'{PE}'
客户 TOP15(含未建档):
SELECT s.customer_code, COALESCE(c.name, CONCAT('未建档[', s.customer_code, ']')) AS customer_name,
COUNT(DISTINCT s.code) AS order_cnt,
ROUND(SUM(om.material_quantity*om.purchase_price*om.exch_rate),2) AS amount_cny
FROM tb_erp_sale s
LEFTJOIN tb_erp_customer c ON s.customer_code=c.code
LEFTJOIN tb_erp_order_material om ON s.code=om.order_code
WHERE s.create_time >='{S}'AND s.create_time <'{E}'GROUPBY s.customer_code, c.name ORDERBY amount_cny DESC LIMIT 15
复购客户(本期下过 >1 单的客户数):
SELECTCOUNT(*) AS repeat_cust_cnt FROM (
SELECT s.customer_code FROM tb_erp_sale s
WHERE s.create_time >='{S}'AND s.create_time <'{E}'GROUPBY s.customer_code HAVINGCOUNT(DISTINCT s.code) >1
) t
按月销售趋势:
SELECT DATE_FORMAT(s.create_time,'%Y-%m') AS ym,
COUNT(DISTINCT s.code) AS order_cnt,
ROUND(SUM(om.material_quantity*om.purchase_price*om.exch_rate),2) AS amount_cny
FROM tb_erp_sale s JOIN tb_erp_order_material om ON s.code=om.order_code
GROUPBY DATE_FORMAT(s.create_time,'%Y-%m') ORDERBY ym
产品销量 TOP(发货口径)与币种构成:见 monthly-business-review 技能。
2. 采购分析
采购汇总(本期+上期):
SELECT DATE_FORMAT(p.create_time,'%Y-%m') AS ym,
COUNT(DISTINCT p.code) AS purchase_cnt,
ROUND(SUM(pm.material_quantity*pm.purchase_price*pm.exch_rate),2) AS amount_cny
FROM tb_erp_purchase p LEFTJOIN tb_erp_order_material pm ON p.code=pm.order_code
WHERE p.create_time >='{PS}'AND p.create_time <'{E}'GROUPBY DATE_FORMAT(p.create_time,'%Y-%m')
供应商 TOP:
SELECT p.supplier_code, COALESCE(sp.name, CONCAT('未建档[', p.supplier_code, ']')) AS supplier_name,
COUNT(DISTINCT p.code) AS order_cnt,
ROUND(SUM(pm.material_quantity*pm.purchase_price*pm.exch_rate),2) AS amount_cny
FROM tb_erp_purchase p
LEFTJOIN tb_erp_supplier sp ON p.supplier_code=sp.code
LEFTJOIN tb_erp_order_material pm ON p.code=pm.order_code
WHERE p.create_time >='{S}'AND p.create_time <'{E}'GROUPBY p.supplier_code, sp.name ORDERBY amount_cny DESC LIMIT 15
3. 库存分析
库存概况(当前时点):
SELECTSUM(rm.quantity) AS total_qty,
SUM(rm.quantity*rm.price) AS stock_value,
COUNT(DISTINCT rm.material_code) AS sku_cnt
FROM tb_erp_repository_material rm WHERE rm.quantity >0
核心产品库存与库存金额:
SELECT rm.material_code, COALESCE(m.name, '') AS name,
SUM(rm.quantity) AS qty, SUM(rm.quantity*rm.price) ASvalueFROM tb_erp_repository_material rm
LEFTJOIN tb_erp_material m ON rm.material_code=m.code
WHERE rm.material_code IN ('1110100030','1110100060','1110102010')
GROUPBY rm.material_code, m.name
安全库存预警(成品):
SELECT code, name, quantity, warning_quantity
FROM tb_erp_material
WHERE quantity < warning_quantity AND category='ERP_MATERIAL_CATEGORY_PRODUCT'ORDERBY (warning_quantity-quantity) DESC
ABC 分类(按库存金额降序累计占比,A 类≈前 80% 金额):
SELECT material_code, quantity, price, quantity*price AS stock_value
FROM tb_erp_repository_material WHERE quantity >0ORDERBY stock_value DESC LIMIT 30
SELECT b.material_code, ROUND(SUM(bi.quantity*COALESCE(m.price,0)),2) AS bom_cost
FROM tb_erp_bom b JOIN tb_erp_bom_item bi ON bi.bom_id=b.id
LEFTJOIN tb_erp_material m ON bi.material_code=m.code
WHERE b.material_code='{MATERIAL_CODE}'AND b.is_delete=0AND b.is_active=1GROUPBY b.material_code
5. 现金流分析
收/付款按类型汇总(注意 paylist 数据截至 2026-03-31,必须标注):
SELECT vouch_type,
COUNT(*) AS cnt,
SUM(CASEWHEN vouch_date >='{S}'AND vouch_date <'{E}'THEN amount ELSE0END) AS amt_month
FROM tb_erp_paylist GROUPBY vouch_type
6. 生产分析
产量与良率(按工单/工序):
SELECT DATE_FORMAT(r.create_time,'%Y-%m') AS ym,
SUM(r.report_quantity) AS total_qty,
SUM(r.good_quantity) AS good_qty,
SUM(r.reject_quantity) AS reject_qty,
ROUND(SUM(r.good_quantity)/NULLIF(SUM(r.report_quantity),0)*100,1) AS yield_pct
FROM tb_mes_production_report r
WHERE r.create_time >='{S}'AND r.create_time <'{E}'GROUPBY DATE_FORMAT(r.create_time,'%Y-%m')
在制品概览:
SELECTCOUNT(DISTINCT work_order_id) AS wo_cnt,
SUM(quantity) AS wip_qty
FROM tb_mes_wip_inventory