本文主要和大家分享linux中自動生成數據詳解,主要以代碼的方法和大家分享,希望能幫助到大家。
/* ?*?自動任務跑數據 ?*?訂單組日工作量報表數據寫入 ?*? ?*?$start_date?????0000-00-00?00:00:00?????????????????開始時間 ?*?$email_start_date????0000-00-00?00:00:00?????????????????開始時間 ?*?$end_dates???????????0000-00-00?00:00:00?????????????????結束時間 ?*/ require_once(?"config.php"?); $flagFile?=?dirname(__FILE__)?.?"/order-day-workload"; if?(@file_exists($flagFile))?{ ????Common_Service_Common::autoRunFlag($flagFile,?__FILE__,?2); ????die("程序正在運行!"); } ini_set("memory_limit",?"-1"); set_time_limit(0); define("RUNTIME",?"[?"?.?date("Y-m-d?H:i:s")?.?"?]?"); echo?RUNTIME?.?"Starting!n"; $reRun?=?false; $start_date?=?date("Y-m-d?08:30:00",?strtotime("-1?day")); $end_dates?=?date("Y-m-d?08:30:00"); $Object?=?new?Order_Service_OrderWorkload(); for?(;?$start_date?orderDayWorkload($email_start_date,?$end_dates); echo?"[?"?.?date('Y-m-d?H:i:s')?.?"?]?結束運行rn"; @unlink($flagFile); //Services //配置標準時間 public?static?$StandardConfigurationTime?=?array( ????//配貨員 ????"STANDARD_CONFIGURATION_PEIHUO", ????//打包員 ????"STANDARD_CONFIGURATION_PACKING", ????//分揀員 ????"STANDARD_CONFIGURATION_SORTER", ); public?static?function?getAdapter()?{ ????$model?=?new?Order_Model_OrderWorkload(); ????return?$model->getAdapter(); } /* ?*?$row????????array()?????????????條件 ?*/ public?static?function?add($row)?{ ????$object?=?new?Order_Model_OrderWorkload(); ????return?$object->add($row); } /* *?訂單組日工作量數據寫入 * *?$email_start_date???0000-00-00?00:00:00??????????????開始時間 *?$end_dates??????????0000-00-00?00:00:00??????????????結束時間 */ public?static?function?orderDayWorkload($email_start_date,?$end_dates)?{ ???$orderWorkload?=?new?Order_Model_OrderWorkload(); ???$dbAdapter?=?$orderWorkload->getAdapter(); ???$dbAdapter->beginTransaction(); ???try?{ ???????//配貨時間 ???????$peihuo_time?=?""; ???????//打包時間 ???????$packing_time?=?""; ???????//分揀時間 ???????$sorter_time?=?""; ???????//配貨員超時票數 ???????$count_peihuo?=?""; ???????//打包員超時票數 ???????$count_packing?=?""; ???????//分揀員超時票數 ???????$count_sorter?=?""; ???????$row?=?array(); ???????//根據條件獲取對應數據 ???????$combination?=?array( ???????????"op_create_date_gt"?=>?$email_start_date, ???????????"op_create_date_lt"?=>?$end_dates, ???????????"op_status"?=>?1, ???????); ???????$opIds?=?Product_Service_Pickup::getByCondition($combination,?"*"); ???????if?(!$opIds)?{ ???????????echo?"未獲取到該時間段??[?"?.?$email_start_date?.?"?]?~?[?"?.?$end_dates?.?"?]?的信息"; ???????} ???????foreach?($opIds?as?$value)?{ ???????????$opOrdersType?=?$value['op_orders_type']; ???????????$warehouseId?=?$value['warehouse_id']; ???????????/* ????????????*?配貨員數據 ????????????*/ ???????????$pickupUserId?=?$value['pickup_user_id']; ???????????//配貨員時間 ???????????if?($value['op_end_time']?!=?'0000-00-00?00:00:00'?&&?$value['op_start_time']?!=?'0000-00-00?00:00:00')?{ ???????????????$peihuo_time?=?round((strtotime($value['op_end_time'])?-?strtotime($value['op_start_time']))?/?60,?0); ???????????}?else?{ ???????????????$peihuo_time?=?0; ???????????} ???????????//根據配貨員賬號開通時間和訂單類型分別計算超時票數 ???????????$userInfo?=?User_Service_User::getByUserId($pickupUserId); ???????????$configId?=?Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['0'],?$warehouseId); ???????????$configValueInfo?=?unserialize($configId['config_value']); ???????????//培訓期 ???????????$trainDate?=?date("Y-m-d?H:i:s",?strtotime("+10?day",?strtotime($userInfo['create_date']))); ???????????//試崗期 ???????????$try_hillockDate?=?date("Y-m-d?H:i:s",?strtotime("+20?day",?strtotime($userInfo['create_date']))); ???????????//上崗期 ???????????$postsDate?=?date("Y-m-d?H:i:s",?strtotime("+30?day",?strtotime($userInfo['create_date']))); ???????????$count_peihuo?=?0; ???????????if?($value['op_start_time']??$trainDate?&&?$value['op_start_time']??$try_hillockDate?&&?$value['op_start_time']??$postsDate)?{ ???????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$trainDate?&&?$value['op_pack_start']??$try_hillockDate?&&?$value['op_pack_start']??$postsDate)?{ ??????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$trainDate?&&?$value['op_sorting_start']??$try_hillockDate?&&?$value['op_sorting_start']??$postsDate)?{ ???????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$val)?{ ???????????$substr?=?substr($key,?-1); ???????????if?($key?!=?0)?{ ???????????????foreach?($val?as?$ke?=>?$va)?{ ???????????????????foreach?($va?as?$k?=>?$v)?{ ???????????????????????$combition?=?array( ???????????????????????????"user_id"?=>?$key, ???????????????????????????"warehouse_id"?=>?$k, ???????????????????????????"ow_date"?=>?$email_start_date, ???????????????????????????"ow_total_pickup"?=>?$v['ow_total_pickup'], ???????????????????????????"ow_type"?=>?$ke, ???????????????????????????"ow_fast"?=>?min($v['total_time']), ???????????????????????????"ow_avg"?=>?round(array_sum($v['total_time'])?/?$v['ow_total_pickup']), ???????????????????????????"ow_slow"?=>?max($v['total_time']), ???????????????????????????"ow_orders"?=>?$v['ow_total_pickup'], ???????????????????????????"ow_overtime_qty"?=>?$v['ow_overtime_qty'], ???????????????????????????"ow_more"?=>?$v['ow_more'], ???????????????????????????"ow_wrong"?=>?$v['ow_wrong'], ???????????????????????????"ow_leakage"?=>?$v['ow_leakage'], ???????????????????????????"ow_create_time"?=>?date("Y-m-d?H:i:s"), ???????????????????????????"ow_post"?=>?$substr, ???????????????????????); ???????????????????????if?(!Order_Service_OrderWorkload::add($combition))?{ ???????????????????????????echo?"寫入數據失敗"; ???????????????????????} ???????????????????} ???????????????} ???????????} ???????} ???????$dbAdapter->commit(); ???}?catch?(Exception?$e)?{ ???????$dbAdapter->rollback(); ???????echo?"[?"?.?date("Y-m-d?H:is")?.?"?]?出現異常,異常信息為:"?.?$e->getMessage(); ???} } //Models private?$_table; public?function?__construct()?{ ????$this->_table?=?new?Order_Model_DbTable_OrderWorkload(); } public?function?getAdapter()?{ ????return?$this->_table->getAdapter(); } /* ?*?$row????????array()?????????????條件 ?*/ public?function?add($row)?{ ????return?$this->_table->insert($row); } //Models/DbTable class?Order_Model_DbTable_OrderWorkload?extends?Zend_Db_Table_Abstract?{ ????//數據表名稱 ????protected?$_name?=?"order_workload"; ????//主鍵 ????protected?$_primary?=?"ow_id"; ????protected?$_sequence?=?true; }
? ? ? ? ? ?
/* ?*?自動任務跑數據 ?*?訂單組日工作量報表數據寫入 ?*? ?*?$start_date?????0000-00-00?00:00:00?????????????????開始時間 ?*?$email_start_date????0000-00-00?00:00:00?????????????????開始時間 ?*?$end_dates???????????0000-00-00?00:00:00?????????????????結束時間 ?*/ require_once(?"config.php"?); $flagFile?=?dirname(__FILE__)?.?"/order-day-workload"; if?(@file_exists($flagFile))?{ ????Common_Service_Common::autoRunFlag($flagFile,?__FILE__,?2); ????die("程序正在運行!"); } ini_set("memory_limit",?"-1"); set_time_limit(0); define("RUNTIME",?"[?"?.?date("Y-m-d?H:i:s")?.?"?]?"); echo?RUNTIME?.?"Starting!n"; $reRun?=?false; $start_date?=?date("Y-m-d?08:30:00",?strtotime("-1?day")); $end_dates?=?date("Y-m-d?08:30:00"); $Object?=?new?Order_Service_OrderWorkload(); for?(;?$start_date?orderDayWorkload($email_start_date,?$end_dates); echo?"[?"?.?date('Y-m-d?H:i:s')?.?"?]?結束運行rn"; @unlink($flagFile); //Services //配置標準時間 public?static?$StandardConfigurationTime?=?array( ????//配貨員 ????"STANDARD_CONFIGURATION_PEIHUO", ????//打包員 ????"STANDARD_CONFIGURATION_PACKING", ????//分揀員 ????"STANDARD_CONFIGURATION_SORTER", ); public?static?function?getAdapter()?{ ????$model?=?new?Order_Model_OrderWorkload(); ????return?$model->getAdapter(); } /* ?*?$row????????array()?????????????條件 ?*/ public?static?function?add($row)?{ ????$object?=?new?Order_Model_OrderWorkload(); ????return?$object->add($row); } /* *?訂單組日工作量數據寫入 * *?$email_start_date???0000-00-00?00:00:00??????????????開始時間 *?$end_dates??????????0000-00-00?00:00:00??????????????結束時間 */ public?static?function?orderDayWorkload($email_start_date,?$end_dates)?{ ???$orderWorkload?=?new?Order_Model_OrderWorkload(); ???$dbAdapter?=?$orderWorkload->getAdapter(); ???$dbAdapter->beginTransaction(); ???try?{ ???????//配貨時間 ???????$peihuo_time?=?""; ???????//打包時間 ???????$packing_time?=?""; ???????//分揀時間 ???????$sorter_time?=?""; ???????//配貨員超時票數 ???????$count_peihuo?=?""; ???????//打包員超時票數 ???????$count_packing?=?""; ???????//分揀員超時票數 ???????$count_sorter?=?""; ???????$row?=?array(); ???????//根據條件獲取對應數據 ???????$combination?=?array( ???????????"op_create_date_gt"?=>?$email_start_date, ???????????"op_create_date_lt"?=>?$end_dates, ???????????"op_status"?=>?1, ???????); ???????$opIds?=?Product_Service_Pickup::getByCondition($combination,?"*"); ???????if?(!$opIds)?{ ???????????echo?"未獲取到該時間段??[?"?.?$email_start_date?.?"?]?~?[?"?.?$end_dates?.?"?]?的信息"; ???????} ???????foreach?($opIds?as?$value)?{ ???????????$opOrdersType?=?$value['op_orders_type']; ???????????$warehouseId?=?$value['warehouse_id']; ???????????/* ????????????*?配貨員數據 ????????????*/ ???????????$pickupUserId?=?$value['pickup_user_id']; ???????????//配貨員時間 ???????????if?($value['op_end_time']?!=?'0000-00-00?00:00:00'?&&?$value['op_start_time']?!=?'0000-00-00?00:00:00')?{ ???????????????$peihuo_time?=?round((strtotime($value['op_end_time'])?-?strtotime($value['op_start_time']))?/?60,?0); ???????????}?else?{ ???????????????$peihuo_time?=?0; ???????????} ???????????//根據配貨員賬號開通時間和訂單類型分別計算超時票數 ???????????$userInfo?=?User_Service_User::getByUserId($pickupUserId); ???????????$configId?=?Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['0'],?$warehouseId); ???????????$configValueInfo?=?unserialize($configId['config_value']); ???????????//培訓期 ???????????$trainDate?=?date("Y-m-d?H:i:s",?strtotime("+10?day",?strtotime($userInfo['create_date']))); ???????????//試崗期 ???????????$try_hillockDate?=?date("Y-m-d?H:i:s",?strtotime("+20?day",?strtotime($userInfo['create_date']))); ???????????//上崗期 ???????????$postsDate?=?date("Y-m-d?H:i:s",?strtotime("+30?day",?strtotime($userInfo['create_date']))); ???????????$count_peihuo?=?0; ???????????if?($value['op_start_time']??$trainDate?&&?$value['op_start_time']??$try_hillockDate?&&?$value['op_start_time']??$postsDate)?{ ???????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$trainDate?&&?$value['op_pack_start']??$try_hillockDate?&&?$value['op_pack_start']??$postsDate)?{ ??????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$trainDate?&&?$value['op_sorting_start']??$try_hillockDate?&&?$value['op_sorting_start']??$postsDate)?{ ???????????????if?((($opOrdersType?==?0?&&?$configValueInfo['matureA'])?||?($opOrdersType?==?1?&&?$configValueInfo['matureB'])?||?($opOrdersType?==?2?&&?$configValueInfo['matureC']))??$val)?{ ???????????$substr?=?substr($key,?-1); ???????????if?($key?!=?0)?{ ???????????????foreach?($val?as?$ke?=>?$va)?{ ???????????????????foreach?($va?as?$k?=>?$v)?{ ???????????????????????$combition?=?array( ???????????????????????????"user_id"?=>?$key, ???????????????????????????"warehouse_id"?=>?$k, ???????????????????????????"ow_date"?=>?$email_start_date, ???????????????????????????"ow_total_pickup"?=>?$v['ow_total_pickup'], ???????????????????????????"ow_type"?=>?$ke, ???????????????????????????"ow_fast"?=>?min($v['total_time']), ???????????????????????????"ow_avg"?=>?round(array_sum($v['total_time'])?/?$v['ow_total_pickup']), ???????????????????????????"ow_slow"?=>?max($v['total_time']), ???????????????????????????"ow_orders"?=>?$v['ow_total_pickup'], ???????????????????????????"ow_overtime_qty"?=>?$v['ow_overtime_qty'], ???????????????????????????"ow_more"?=>?$v['ow_more'], ???????????????????????????"ow_wrong"?=>?$v['ow_wrong'], ???????????????????????????"ow_leakage"?=>?$v['ow_leakage'], ???????????????????????????"ow_create_time"?=>?date("Y-m-d?H:i:s"), ???????????????????????????"ow_post"?=>?$substr, ???????????????????????); ???????????????????????if?(!Order_Service_OrderWorkload::add($combition))?{ ???????????????????????????echo?"寫入數據失敗"; ???????????????????????} ???????????????????} ???????????????} ???????????} ???????} ???????$dbAdapter->commit(); ???}?catch?(Exception?$e)?{ ???????$dbAdapter->rollback(); ???????echo?"[?"?.?date("Y-m-d?H:is")?.?"?]?出現異常,異常信息為:"?.?$e->getMessage(); ???} } //Models private?$_table; public?function?__construct()?{ ????$this->_table?=?new?Order_Model_DbTable_OrderWorkload(); } public?function?getAdapter()?{ ????return?$this->_table->getAdapter(); } /* ?*?$row????????array()?????????????條件 ?*/ public?function?add($row)?{ ????return?$this->_table->insert($row); } //Models/DbTable class?Order_Model_DbTable_OrderWorkload?extends?Zend_Db_Table_Abstract?{ ????//數據表名稱 ????protected?$_name?=?"order_workload"; ????//主鍵 ????protected?$_primary?=?"ow_id"; ????protected?$_sequence?=?true; }
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END