Esempio n. 1
0
 /**
  * 波次配置表插入一条记录
  * @param array $data
  * @return number $insertId
  * @author czq
  */
 public static function insertWaveConfigRow($data)
 {
     self::initDB();
     $sql = "INSERT INTO " . self::$tablename . " SET " . array2sql($data);
     $query = self::$dbConn->query($sql);
     if ($query) {
         $insertId = self::$dbConn->insert_id();
         return $insertId;
     } else {
         self::$errCode = "003";
         self::$errMsg = "error";
         return false;
     }
 }
Esempio n. 2
0
 /**
  * WaveBuildAct::get_wave_config()
  * 获取波次配置表信息
  * @param int $waveType 配货单类型。1=>>单个发货单  2=>>单SKU 3=>>多SKU
  * @param integer $limitType 限制条件种类:1配货单 2单发货单上限 3单发货单拆分规则
  * @return void
  */
 public function get_wave_config($waveType, $limitType = 1)
 {
     $waveType = intval($waveType);
     $limitType = intval($limitType);
     $waveType = $waveType ? $waveType : 1;
     $limitType = $limitType ? $limitType : 1;
     $return = array();
     $config = WhWaveConfigModel::select(array('waveType' => $waveType, 'limitType' => $limitType));
     $config = $config[0];
     unset($config['id'], $config['waveType'], $config['limitType']);
     //print_r($config);exit;
     return $config;
 }
Esempio n. 3
0
 public function view_edit()
 {
     $toplevel = 4;
     $secondlevel = 47;
     $messagetype = 0;
     //前端提示信息显示类型
     $type = isset($_POST['editType']) ? $_POST['editType'] : '';
     if (!empty($type)) {
         $waveEdit = A("whWaveEdit");
         if ($type == 'waveBoxColor') {
             $waveEdit->act_waveColorEdit();
             $boxmessage = $waveEdit::$errMsg;
             $messagetype = $waveEdit::$errCode;
             $this->smarty->assign('boxmessage', $boxmessage);
         } else {
             if ($type == 'waveAllocation') {
                 $waveEdit->act_waveAllocation();
             }
         }
     }
     $boxColors = array('蓝', '黄', '红', '绿', '紫');
     $this->smarty->assign('messagetype', $messagetype);
     $this->smarty->assign('boxColors', $boxColors);
     //获取箱子颜色
     $waveColors = WhWaveColorModel::getWaveBoxColor();
     foreach ($waveColors as $wave) {
         if ($wave['waveZone'] == 1) {
             $this->smarty->assign('sameZoneColor', $wave['color']);
         } else {
             if ($wave['waveZone'] == 2) {
                 $this->smarty->assign('crossZoneColor', $wave['color']);
             } else {
                 if ($wave['waveZone'] == 3) {
                     $this->smarty->assign('crossStoreyColor', $wave['color']);
                 }
             }
         }
     }
     // 获取波次配置信息
     $waveConfigs = WhWaveConfigModel::getWaveConfig();
     foreach ($waveConfigs as $waveConfig) {
         if ($waveConfig['waveType'] == 1) {
             if ($waveConfig['limitType'] == 1) {
                 //单个发货单
                 $this->smarty->assign('singleInvoice', $waveConfig);
             } else {
                 if ($waveConfig['limitType'] == 2) {
                     //单个发货单每个波次拆分
                     $this->smarty->assign('singleInvoiceSplit', $waveConfig);
                 } else {
                     if ($waveConfig['limitType'] == 3) {
                         //单个发货单拆分起点
                         $this->smarty->assign('singleInvoiceSplitEach', $waveConfig);
                     }
                 }
             }
         } else {
             if ($waveConfig['waveType'] == 2) {
                 //单SKU
                 $this->smarty->assign('singleSku', $waveConfig);
             } else {
                 if ($waveConfig['waveType'] == 3) {
                     //多SKU
                     $this->smarty->assign('skus', $waveConfig);
                 }
             }
         }
     }
     $toptitle = '波次设置';
     $this->smarty->assign('toptitle', $toptitle);
     $this->smarty->assign('toplevel', $toplevel);
     $this->smarty->assign('secondlevel', $secondlevel);
     $this->smarty->display('whWaveEdit.htm');
 }
Esempio n. 4
0
 public function act_waveAllocation()
 {
     //单个发货单
     $singleInvoiceWeight = isset($_POST['singleInvoiceWeight']) ? $_POST['singleInvoiceWeight'] : 0;
     $singleInvoiceVolume = isset($_POST['singleInvoiceVolume']) ? $_POST['singleInvoiceVolume'] : 0;
     $singleInvoiceSkuNum = isset($_POST['singleInvoiceSkuNum']) ? $_POST['singleInvoiceSkuNum'] : 0;
     $singleInvoiceId = isset($_POST['singleInvoiceId']) ? $_POST['singleInvoiceId'] : '';
     //单SKU
     $singleSkuWeigh = isset($_POST['singleSkuWeigh']) ? $_POST['singleSkuWeigh'] : 0;
     $singleSkuVolume = isset($_POST['singleSkuVolume']) ? $_POST['singleSkuVolume'] : 0;
     $singleSkuNum = isset($_POST['singleSkuNum']) ? $_POST['singleSkuOrderNum'] : 0;
     $singleSkuOrderNum = isset($_POST['singleSkuOrderNum']) ? $_POST['singleSkuOrderNum'] : 0;
     $singleSkuId = isset($_POST['singleSkuId']) ? $_POST['singleSkuId'] : '';
     //多SKU
     $skusWeight = isset($_POST['skusWeight']) ? $_POST['skusWeight'] : 0;
     $skusVolume = isset($_POST['skusVolume']) ? $_POST['skusVolume'] : 0;
     $skusNum = isset($_POST['skusNum']) ? $_POST['skusNum'] : 0;
     $skusOrderNum = isset($_POST['skusOrderNum']) ? $_POST['skusOrderNum'] : 0;
     $skusId = isset($_POST['skusId']) ? $_POST['skusId'] : '';
     //单个发货单拆分起点
     $singleInvoiceSplitWeight = isset($_POST['singleInvoiceSplitWeight']) ? $_POST['singleInvoiceSplitWeight'] : 0;
     $singleInvoiceSplitVolume = isset($_POST['singleInvoiceSplitVolume']) ? $_POST['singleInvoiceSplitVolume'] : 0;
     $singleInvoiceSplitSkuNum = isset($_POST['singleInvoiceSplitSkuNum']) ? $_POST['singleInvoiceSplitSkuNum'] : 0;
     $singleInvoiceSplitId = isset($_POST['singleInvoiceSplitId']) ? $_POST['singleInvoiceSplitId'] : '';
     //单个发货单每个波次拆分
     $singleInvoiceSplitEachWeigh = isset($_POST['singleInvoiceSplitEachWeigh']) ? $_POST['singleInvoiceSplitEachWeigh'] : 0;
     $singleInvoiceSplitEachVolume = isset($_POST['singleInvoiceSplitEachVolume']) ? $_POST['singleInvoiceSplitEachVolume'] : 0;
     $singleInvoiceSplitEachNum = isset($_POST['singleInvoiceSplitEachNum']) ? $_POST['singleInvoiceSplitEachNum'] : 0;
     $singleInvoiceSplitEachId = isset($_POST['singleInvoiceSplitEachId']) ? $_POST['singleInvoiceSplitEachId'] : '';
     $insertData = array(array('limitWeight' => $singleInvoiceWeight, 'limitVolume' => $singleInvoiceVolume, 'limitSkuNums' => $singleInvoiceSkuNum, 'limitOrderNums' => 0, 'waveType' => 1, 'limitType' => 1, 'id' => $singleInvoiceId), array('limitWeight' => $singleSkuWeigh, 'limitVolume' => $singleSkuVolume, 'limitSkuNums' => $singleSkuNum, 'limitOrderNums' => $singleSkuOrderNum, 'waveType' => 2, 'limitType' => 1, 'id' => $singleSkuId), array('limitWeight' => $skusWeight, 'limitVolume' => $skusVolume, 'limitSkuNums' => $skusNum, 'limitOrderNums' => $skusOrderNum, 'waveType' => 3, 'limitType' => 1, 'id' => $skusId), array('limitWeight' => $singleInvoiceSplitWeight, 'limitVolume' => $singleInvoiceSplitVolume, 'limitSkuNums' => $singleInvoiceSplitSkuNum, 'limitOrderNums' => 0, 'waveType' => 1, 'limitType' => 2, 'id' => $singleInvoiceSplitId), array('limitWeight' => $singleInvoiceSplitEachWeigh, 'limitVolume' => $singleInvoiceSplitEachVolume, 'limitSkuNums' => $singleInvoiceSplitEachNum, 'limitOrderNums' => 0, 'waveType' => 1, 'limitType' => 3, 'id' => $singleInvoiceSplitEachId));
     TransactionBaseModel::begin();
     //开始事物
     //插入数据
     foreach ($insertData as $data) {
         $id = $data['id'];
         unset($data['id']);
         if (empty($id)) {
             $insertId = WhWaveConfigModel::insertWaveConfigRow($data);
             if (!$insertId) {
                 self::$errCode = 101;
                 self::$errMsg = "数据插入失败";
                 TransactionBaseModel::rollback();
                 return false;
             }
         } else {
             if (!WhWaveConfigModel::updateWaveConfig($data, ' AND id = ' . $id)) {
                 self::$errCode = 102;
                 self::$errMsg = "更新数据失败";
                 TransactionBaseModel::rollback();
                 return false;
             }
         }
     }
     TransactionBaseModel::commit();
     return true;
 }