Sp_Manufacture_SetTime.md 2.48 KB

Sp_Manufacture_SetTime (procedure)

@author:钱豹 @date:20210530 封存 @describe: 按当前机台的排单次序,重算开始时间,耗时,结束时间,考虑因素有 单双休,工作时间 条件为: 已排程 或 已下达 的未撤单记录

  • Type: PROCEDURE
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sProInParam varchar(10000)
2 IN sMakePerson varchar(100)
3 IN sBrId varchar(100)
4 IN sSuId varchar(100)
5 OUT sReturn varchar(1000)
6 OUT sCode int

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpManufacture_SetTime'._

Narrative

Business context: 生产管理 → 机台作业任务执行 — scheduling-side recompute for the per-machine 排单 sequence. After a user re-sorts or re-targets work-order rows on a machine, this proc walks the machine's pending 排程/已下达 (未撤单) rows in mftproductionplanslave, recomputes each row's tCStartTime / dHour / tCEndTime taking single/double-shift, working hours and off-time into account, and back-writes the new schedule.

What it does: Reads sMachineId / iOrder / tCStartTime / sWorkCenterId from $.params[0].value[0] of sProInParam. Per row it calls Sp_CalcPlan_dHour to get the per-row duration, then UPDATE mftproductionplanslave with new start/end/hour; iterates downstream rows in iOrder order, propagating end-time → next-row start-time. Also update elemachine for the machine's current state and CALL Sp_productionPlan_BtnEventAutoOrderSettime plus Sp_Sis_GetConst for localised error text. Author 钱豹, marked 封存 (frozen) 2021-05-30.

Invocation: Dispatched dynamically by Java WorkOrderPlanServiceImpl.doSetTime(...) via procedureService.getDoProMap("Sp_Manufacture_SetTime", setTime) + getCallProByMap(setTime, "Sp_Manufacture_SetTime") — the 机台排程 calculation entry-point declared in BtnCalculationService ("机台、统一规划 调用 Sp_unifiedPlanning_BtnCalculation,Sp_Manufacture_SetTime时候执行"). Also called from Sp_unifiedPlanning_BtnCalculation, Sp_BtnCalculation_Machine_time_byMachineType, Sp_productionPlan_BtnEventAutoOrder10, Sp_productionPlan_BtnEventCnl, and the per-employee variant Sp_Manufacture_SetTime_Employ. No gdsmodule or form-master binding — purely Java/proc-chain dispatched.