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:00
下一篇 2025年11月1日 08:03:26

相关推荐

  • 如何在 VS Code 中解决折叠代码复制问题?

    解决 VS Code 折叠代码复制问题 在 VS Code 中使用折叠功能可以帮助组织长代码,但使用复制功能时,可能会遇到只复制可见部分的问题。以下是如何解决此问题: 当代码被折叠时,可以使用以下简单操作复制整个折叠代码: 按下 Ctrl + C (Windows/Linux) 或 Cmd + C …

    2025年12月24日
    000
  • 姜戈顺风

    本教程演示如何在新项目中从头开始配置 django 和 tailwindcss。 django 设置 创建一个名为 .venv 的新虚拟环境。 # windows$ python -m venv .venv$ .venvscriptsactivate.ps1(.venv) $# macos/linu…

    2025年12月24日
    000
  • 深入理解CSS属性选择器并举例说明

    CSS属性选择器详解及应用示例 在CSS中,我们经常需要通过选择器来选取并修改特定的元素样式。除了常见的标签选择器(如div、p等),CSS还提供了属性选择器,可以根据元素的属性值来选择并修改样式。 本文将详细介绍CSS的属性选择器,并给出一些实际应用的示例。 一、属性选择器类型 立即学习“前端免费…

    2025年12月24日
    000
  • 动态加载css详解

    这次给大家带来动态加载css详解,动态加载css的注意事项有哪些,下面就是实战案例,一起来看一下。 一、方法引用来源和应用 此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析)。 因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需的c…

    好文分享 2025年12月24日
    000
  • css中px、em和rem使用详解

    相信每位前端工程师们都有这么一个体会,国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢?下面这篇文章小编就来给大家详细介绍关于css中px、em和rem的区别,需要的朋友可以参考借鉴,下面来一起看看吧。 前言 em 和 rem 都是灵活可扩展的单…

    好文分享 2025年12月24日
    000
  • CSS双飞翼布局的详解

    这次给大家带来CSS双飞翼布局的详解,实现CSS双飞翼布局的注意事项有哪些,下面就是实战案例,一起来看一下。 双飞翼布局,就是两端固定宽高,中间自适应的三栏布局 先来张图,左边和右边的灰色块是固定宽高的,中间绿色的区域是宽高自适应 方式一:通过flex弹性布局来实现 看代码 //HTML结构,p2是…

    2025年12月24日
    000
  • CSS的三栏布局详解

    这次给大家带来CSS的三栏布局详解,CSS的三栏布局的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了CSS经典三栏布局方案,分享给大家,也给自己做个笔记,具体如下: 三栏布局,顾名思义就是两边固定,中间自适应。三栏布局在开发十分常见 1. float布局 最简单的三栏布局就是利用flo…

    2025年12月24日 好文分享
    000
  • CSS的定位属性详解

    这次给大家带来CSS的定位属性详解,使用CSS定位属性的注意事项有哪些,下面就是实战案例,一起来看一下。 CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。 position: absolute; position: relative; position: fixed; 下面逐一介绍。 相…

    2025年12月24日 好文分享
    000
  • px单位html5响应式方案详解

    移动端h5响应式方案最近这几年用得最多的最多的就是rem方案了。这个需要计算根元素的font-size来实现响应式。本文主要和大家介绍了px单位html5响应式方案的相关资料,希望能帮助到大家。 但这种方案也有一个缺点,那就是font-size不为整数的时候一些字体使用rem单位会导致字体显示的大小…

    好文分享 2025年12月24日
    000
  • Css多行字符截取方法详解

    相信有很多同学在写前端页面的时候,都会遇到字符长了需要截取的问题,最简单的方法就是手动去截取,可这样又感觉太low了,今天晚上就来讲讲利用css进行字符的截取,不了解css是如何截取的同学可以和我们一起看看哦! 前言 最近在做响应式系统设计的时候遇到需要对标题进行多行文字截取的效果,如下图: 看似十…

    2025年12月24日 好文分享
    000
  • CSS内边距外边距代码详解

    本文主要和大家分享css之内边距与外边距,本文运用了多个实例与代码,希望能帮助到大家。 外边距: margin 左边距 margin-left:数值 | autoauto:即距离这个边最远的距离右边距: margin-right:数值 | auto上边距: margin-top:数值 这里不能用au…

    2025年12月24日 好文分享
    000
  • CSS常用的一些属性详解

    text-align: center”>CSS常用属性 ☛关于css属性个人建议查看手册更加详细方便,我这里就几种常用属性进行分类并简单取几个常用属性值,仅供跟我一样刚学习前端的人作为入门而用。  1.字体样式 字体的缩写,写法是font:font-style|| font-var…

    好文分享 2025年12月23日
    000
  • CSS如何实现两端对齐详解

    前面的话   两端对齐在导航nav的制作中非常常用。本文将详细介绍css两端对齐的3种实现方式 flex   弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端对齐。可以使用主轴对齐justify-content的两端对齐属性space-between just…

    好文分享 2025年12月23日
    000
  • css样式之border-radius详解

    border-radius 属性设置边框的园角     可能的值:像素,百分比 扩展延伸 html代码 css代码 p { height: 200px; width: 200px; border: 2px solid #a72525; border-radius: 10px;} 结果 立即学习“前端…

    好文分享 2025年12月23日
    000
  • 详解CSS属性值用法

    万维网联盟(w3c) 使用了一套特别的语法来定义 css 的属性值,能让所有的 css 属性都用。如果你曾看过 css 规范,你可能已经见过这套语法了。就像  border-image-slice  的语法 ,让我们看看: = [ | ]{1,4} && fill?如果你不知道这些符…

    2025年12月23日 好文分享
    000
  • 详解css中border-image的使用方法

    border-image-source 属性设置边框的图片的路径[none | ] p { border: 20px solid #000; border-image-source: url(border.png);} border-image-slice 属性图片边框向内偏移[ | ](1,4) …

    2025年12月23日
    000
  • 如何查看编写的html_查看自己编写的HTML文件效果【效果】

    要查看HTML文件的浏览器渲染效果,需确保文件以.html为扩展名保存、用浏览器直接打开、利用开发者工具调试、必要时启用本地HTTP服务器、或使用编辑器实时预览插件。 如果您编写了HTML代码,但无法直观看到其在浏览器中的实际渲染效果,则可能是由于文件未正确保存、未使用浏览器打开或文件扩展名设置错误…

    2025年12月23日
    400
  • html5怎么设置黑体_html5用CSS font-family设黑体或font-weight加粗【设置】

    在HTML5中实现黑体及加粗需用CSS的font-family和font-weight:一、font-family按优先级列“SimHei”,“Microsoft YaHei”,“Heiti SC”,sans-serif;二、font-weight用700或bold;三、组合声明并注意继承;四、可用…

    2025年12月23日
    000
  • navigator怎么用html5_HTML5用navigator对象查浏览器信息如语言【对象】

    可通过navigator对象获取浏览器语言、设备类型、平台信息、地理定位和媒体设备支持:navigator.language/languages返回语言代码;userAgent判断移动设备;platform返回操作系统;geolocation检测定位支持;mediaDevices检查媒体访问能力。 …

    2025年12月23日
    000
  • html5怎么找颜色_html5用取色器或CSS命名如red快速找对应颜色【查找】

    可通过浏览器开发者工具取色、CSS命名颜色对照表、在线十六进制颜色查找工具及CSS自定义属性验证四种方法快速定位颜色值对应的实际色彩效果。 如果您在HTML5开发中需要快速定位某个颜色值对应的实际色彩效果,可以通过取色器工具或CSS预定义颜色名称来识别。以下是查找颜色的具体操作方法: 一、使用浏览器…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信