Linux中自动生成数据详解

本文主要和大家分享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') . " ] 结束运行\r\n";@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) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_start_time'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_start_time'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['matureA']) || ($opOrdersType == 1 && $configValueInfo['matureB']) || ($opOrdersType == 2 && $configValueInfo['matureC'])) <= $peihuo_time) {                   $count_peihuo = 1;               }           }           //根据配货员和订单类型仓库作为键、组成四维数组,如果有相同的键,就把对应值相加           if (!isset($row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId])) {               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_overtime_qty'] = $count_peihuo;               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_more'] = $value['op_more'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_wrong'] = $value['op_wrong'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_leakage'] = $value['op_leakage'];           } else {               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_overtime_qty'] += $count_peihuo;               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_more'] += $value['op_more'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_wrong'] += $value['op_wrong'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_leakage'] += $value['op_leakage'];           }           $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_total_pickup'] += 1;           $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['total_time'][] = $peihuo_time;                              /*            * 打包员数据            */               $packageUserId = $value['package_user_id'];           //打包员时间           if ($value['op_pack_end'] != '0000-00-00 00:00:00' && $value['op_pack_start'] != '0000-00-00 00:00:00') {               $packing_time = ceil((strtotime($value['op_pack_end']) - strtotime($value['op_pack_start'])) / 60);           } else {               $packing_time = 0;           }           //根据打包员账号开通时间和订单类型分别计算超时票数           $userInfo = User_Service_User::getByUserId($packageUserId);           $configId = Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['1'], $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_packing = 0;           if ($value['op_pack_start'] <= $trainDate) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_pack_start'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_pack_start'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $postsDate) {              if ((($opOrdersType == 0 && $configValueInfo['matureA']) || ($opOrdersType == 1 && $configValueInfo['matureB']) || ($opOrdersType == 2 && $configValueInfo['matureC'])) <= $packing_time) {                   $count_packing = 1;               }           }           //根据打包员和订单类型仓库作为键、组成四维数组,如果有相同的键,就把对应值相加           if (!isset($row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId])) {               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_overtime_qty'] = $count_packing;               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_more'] = $value['op_more'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_wrong'] = $value['op_wrong'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_leakage'] = $value['op_leakage'];           } else {               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_overtime_qty'] += $count_packing;               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_more'] += $value['op_more'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_wrong'] += $value['op_wrong'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_leakage'] += $value['op_leakage'];           }           $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_total_pickup'] += 1;           $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['total_time'][] = $packing_time;           /*            * 分拣员数据            */           $opSortingUser = $value['op_sorting_user'];           //分拣员时间           if ($value['op_sorting_end'] != '0000-00-00 00:00:00' && $value['op_sorting_start'] != '0000-00-00 00:00:00') {               $sorter_time = ceil((strtotime($value['op_sorting_end']) - strtotime($value['op_sorting_start'])) / 60);           } else {               $sorter_time = 0;           }           //根据分拣员账号开通时间和订单类型分别计算超时票数           $userInfo = User_Service_User::getByUserId($opSortingUser);           $configId = Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['2'], $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_sorter = 0;           if ($value['op_sorting_start'] <= $trainDate) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_sorting_start'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_sorting_start'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $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();   }}//Modelsprivate $_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/DbTableclass 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') . " ] 结束运行\r\n";@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) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_start_time'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_start_time'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['matureA']) || ($opOrdersType == 1 && $configValueInfo['matureB']) || ($opOrdersType == 2 && $configValueInfo['matureC'])) <= $peihuo_time) {                   $count_peihuo = 1;               }           }           //根据配货员和订单类型仓库作为键、组成四维数组,如果有相同的键,就把对应值相加           if (!isset($row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId])) {               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_overtime_qty'] = $count_peihuo;               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_more'] = $value['op_more'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_wrong'] = $value['op_wrong'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_leakage'] = $value['op_leakage'];           } else {               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_overtime_qty'] += $count_peihuo;               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_more'] += $value['op_more'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_wrong'] += $value['op_wrong'];               $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_leakage'] += $value['op_leakage'];           }           $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['ow_total_pickup'] += 1;           $row[$pickupUserId . '-' . 0][$opOrdersType][$warehouseId]['total_time'][] = $peihuo_time;                              /*            * 打包员数据            */               $packageUserId = $value['package_user_id'];           //打包员时间           if ($value['op_pack_end'] != '0000-00-00 00:00:00' && $value['op_pack_start'] != '0000-00-00 00:00:00') {               $packing_time = ceil((strtotime($value['op_pack_end']) - strtotime($value['op_pack_start'])) / 60);           } else {               $packing_time = 0;           }           //根据打包员账号开通时间和订单类型分别计算超时票数           $userInfo = User_Service_User::getByUserId($packageUserId);           $configId = Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['1'], $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_packing = 0;           if ($value['op_pack_start'] <= $trainDate) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_pack_start'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_pack_start'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $postsDate) {              if ((($opOrdersType == 0 && $configValueInfo['matureA']) || ($opOrdersType == 1 && $configValueInfo['matureB']) || ($opOrdersType == 2 && $configValueInfo['matureC'])) <= $packing_time) {                   $count_packing = 1;               }           }           //根据打包员和订单类型仓库作为键、组成四维数组,如果有相同的键,就把对应值相加           if (!isset($row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId])) {               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_overtime_qty'] = $count_packing;               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_more'] = $value['op_more'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_wrong'] = $value['op_wrong'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_leakage'] = $value['op_leakage'];           } else {               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_overtime_qty'] += $count_packing;               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_more'] += $value['op_more'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_wrong'] += $value['op_wrong'];               $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_leakage'] += $value['op_leakage'];           }           $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['ow_total_pickup'] += 1;           $row[$packageUserId . '-' . 1][$opOrdersType][$warehouseId]['total_time'][] = $packing_time;           /*            * 分拣员数据            */           $opSortingUser = $value['op_sorting_user'];           //分拣员时间           if ($value['op_sorting_end'] != '0000-00-00 00:00:00' && $value['op_sorting_start'] != '0000-00-00 00:00:00') {               $sorter_time = ceil((strtotime($value['op_sorting_end']) - strtotime($value['op_sorting_start'])) / 60);           } else {               $sorter_time = 0;           }           //根据分拣员账号开通时间和订单类型分别计算超时票数           $userInfo = User_Service_User::getByUserId($opSortingUser);           $configId = Common_Service_Config::getByAttribute(Order_Service_OrderWorkload::$StandardConfigurationTime['2'], $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_sorter = 0;           if ($value['op_sorting_start'] <= $trainDate) {               if ((($opOrdersType == 0 && $configValueInfo['trainA']) || ($opOrdersType == 1 && $configValueInfo['trainB']) || ($opOrdersType == 2 && $configValueInfo['trainC']))  $trainDate && $value['op_sorting_start'] <= $try_hillockDate) {               if ((($opOrdersType == 0 && $configValueInfo['try_hillockA']) || ($opOrdersType == 1 && $configValueInfo['try_hillockB']) || ($opOrdersType == 2 && $configValueInfo['try_hillockC']))  $try_hillockDate && $value['op_sorting_start'] <= $postsDate) {               if ((($opOrdersType == 0 && $configValueInfo['postsA']) || ($opOrdersType == 1 && $configValueInfo['postsB']) || ($opOrdersType == 2 && $configValueInfo['postsC']))  $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();   }}//Modelsprivate $_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/DbTableclass Order_Model_DbTable_OrderWorkload extends Zend_Db_Table_Abstract {    //数据表名称    protected $_name = "order_workload";    //主键    protected $_primary = "ow_id";    protected $_sequence = true;}

以上就是Linux中自动生成数据详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/182284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小红书评论加载慢怎么办 小红书评论刷新与优化方法
上一篇 2025年11月1日 08:02:53
网页一闪一闪的粒子特效是如何实现的?
下一篇 2025年11月1日 08:02:55

相关推荐

  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    100
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • pycharm解析器怎么添加 解析器添加详细流程

    在pycharm中添加解析器的步骤包括:1) 打开pycharm并进入设置,2) 选择project interpreter,3) 点击齿轮图标并选择add,4) 选择解析器类型并配置路径,5) 点击ok完成添加。添加解析器后,选择合适的类型和版本,配置环境变量,并利用解析器的功能提高开发效率。 在…

    2026年5月10日
    000
  • JavaScript Electron桌面应用

    答案:使用JavaScript开发%ignore_a_1%桌面应用需结合Web技术与Node.js,通过主进程管理窗口、渲染进程展示界面,并利用IPC通信,调用系统功能如文件对话框,最后用electron-builder打包发布,注意安全与进程职责分离。 用JavaScript开发Electron桌…

    2026年5月10日
    000
  • Linux文件系统iostat命令使用技巧

    Linux文件系统iostat命令使用技巧Linux文件系统iostat命令使用技巧Linux文件系统iostat命令使用技巧Linux文件系统iostat命令使用技巧

    iostat是Linux系统中用于监控I/O设备负载的关键工具,能分析磁盘性能并识别瓶颈。默认输出包括CPU使用率和设备I/O统计,分为系统启动以来的平均值和当前采样周期数据。核心指标有:%util反映设备利用率,持续接近100%可能表示I/O瓶颈;await为平均I/O等待时间,过高说明响应变慢;…

    2026年5月10日 用户投稿
    000
  • HTML的语法详解

    这次给大家带来html的语法详解,怎么使用html的语法?使用html语法的注意事项有哪些,下面就是实战案例,一起来看一下。 什么是HTML标记语言? HTML是表示网页信息的符号标记语言。 2.HTML的标记和他的属性 1.HTML文档的保存格式:.html、.htm、.xhtml 立即学习“前端…

    用户投稿 2026年5月10日
    000
  • 如何测试html5编码_测试HTML5页面编码兼容性方法【编码测试】

    HTML5页面编码兼容性测试需五步:一查meta charset是否正确且前置;二验HTTP响应头Content-Type charset是否为utf-8;三用file或chardet工具探测实际编码;四跨浏览器测试URL参数中中文、Emoji解析;五通过W3C验证服务检查编码声明与字节一致性。 如…

    2026年5月10日
    100
  • 后缀php怎么打开_php文件打开方式与运行环境搭建指南

    要打开PHP文件需根据用途选择方式:查看代码可用文本编辑器或IDE,运行则需服务器环境。推荐新手使用XAMPP、WAMP等集成环境,将文件放入htdocs目录后访问localhost;开发者可利用PHP内置服务器,命令行执行php -S localhost:8000运行;高级用户可手动配置Apach…

    2026年5月10日
    000
  • Go语言:检查预编译库的构建版本与平台信息

    本文详细介绍了如何利用go语言内置的`go tool pack`工具,从预编译的go静态库(`.a`文件)中提取其构建信息,包括go编译器版本、操作系统和cpu架构。当`go build`因库版本不匹配而失败时,此方法能帮助开发者准确诊断问题,确保构建环境与库的兼容性。 在Go语言的开发实践中,我们…

    2026年5月10日
    000
  • 解决Python脚本中相对路径文件找不到的常见问题与策略

    本文旨在解决python脚本中因相对路径处理不当导致的文件找不到错误,尤其是在项目迁移后。文章将深入探讨python中相对路径的工作原理、当前工作目录(cwd)的影响,并提供使用`os.getcwd()`诊断问题以及利用`os.path.dirname(__file__)`结合`os.path.jo…

    2026年5月10日
    000
  • Golang如何提升TCP长连接处理效率_Golang TCP长连接处理性能优化实践详解

    答案:通过非阻塞I/O、单Goroutine双工模型、sync.Pool对象复用、TCP_NODELAY优化及高效心跳管理,结合系统调优,可显著提升Golang百万级TCP长连接处理效率。 在高并发网络服务场景中,TCP长连接的处理效率直接影响系统的吞吐能力和资源消耗。Golang凭借其轻量级Gor…

    2026年5月10日
    000
  • C++内存检测工具 Valgrind使用实践指南

    Valgrind是一款主要用于Linux和macOS的内存调试工具,可检测内存泄漏、越界访问、未初始化内存使用等问题,通过memcheck工具结合–leak-check=full、–track-origins=yes等选项进行详细分析,需编译时添加-g选项以支持调试信息,虽然…

    2026年5月10日
    000
  • php源码怎么运行手机_php源码手机运行环境搭建步骤【教程】

    可在手机上通过特定工具运行PHP源码。首先选择支持PHP的移动应用,安卓用户可安装UserLAnd或KSWEB,iOS用户可尝试iSH Shell或a-Shell;然后配置本地服务器环境,启动HTTP和PHP服务,将PHP文件放入指定根目录;接着可通过Termux搭建完整开发环境,更新包列表并安装P…

    2026年5月10日
    200
  • PHP动态网页数据库备份恢复_PHP动态网页MySQL数据库备份教程

    答案:PHP动态网页的MySQL数据库备份与恢复需通过定期导出SQL文件并安全存储来保障数据安全,核心方法包括使用mysqldump命令行工具实现高效灵活的自动化备份,利用phpMyAdmin图形化工具进行手动导出导入以降低操作门槛,以及通过PHP脚本调用系统命令将备份过程集成到应用中;恢复时可采用…

    2026年5月10日
    000
  • 解决Go语言中GOPATH未设置错误及工作区配置指南

    本文旨在解决go语言开发中常见的“gopath not set”错误,并提供详细的go工作区配置指南。内容涵盖`gopath`环境变量的设置、go项目目录结构、`path`变量的扩展,以及一些高级配置技巧,旨在帮助开发者建立一个高效、规范的go开发环境,确保包的下载、编译和运行顺利进行。 Go语言在…

    2026年5月10日
    000
  • Linux用scp命令上传HTML文件到远程服务器

    使用scp命令可安全上传HTML文件至远程服务器:1、上传单个文件需指定源路径与目标地址;2、批量上传可用*.html通配符;3、递归上传目录需加-r参数;4、非默认端口需用-P指定端口号,依次执行并输入密码即可完成传输。 如果您需要将本地的HTML文件上传到远程服务器,并且拥有SSH访问权限,可以…

    2026年5月10日
    000
  • c++如何调用系统命令_c++执行系统命令方法

    使用std::system()可执行系统命令,需包含cstdlib头文件,传入命令字符串,返回值表示执行结果。示例:Linux下用”ls -l”列出文件,Windows下用”dir”。返回0表示成功,非0表示失败,可用于判断命令执行状态。注意跨平台命令…

    2026年5月10日
    200
  • 跨平台 C++ 代码中设计模式的移植问题与解决方案

    在跨平台 c++++ 开发中,设计模式移植问题包括:平台依赖性、头文件可用性、命名冲突、内存管理。解决方案包括使用跨平台库、预处理器指令、命名空间、跨平台内存管理库等。 跨平台 C++ 代码中设计模式的移植问题与解决方案 在跨平台 C++ 开发中,将设计模式从一个平台移植到另一个平台时,可能会遇到一…

    2026年5月10日
    000
  • C++怎么使用静态库和动态库_C++链接静态库与动态库的方法与区别

    静态库在编译时链接,生成独立可执行文件;动态库运行时加载,节省内存。1. 静态库用ar打包.o文件为.a,编译时通过-L和-l链接;2. 动态库需-fPIC编译生成.so,运行前配置LD_LIBRARY_PATH或系统路径;3. 静态库体积大但部署方便,动态库共享内存利于更新。 在C++项目开发中,…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信