load->library('session'); $this->load->_model('Model_whlabel', 'whlabel'); $this->load->_model('Model_warehouse', 'warehouse'); $this->load->_model('Model_purchase', 'purchase'); $this->load->_model('Model_excel', 'excel'); $this->load->_model('Model_fullorder', 'fullorder'); $this->load->_model('Model_fullordertt', 'fullordertt'); $this->load->_model('Model_fullorderamz', 'fullorderamz'); $this->load->_model('Model_fullorder_smt', 'fullorder_smt'); $this->load->_model('Model_fullordersmt', 'fullordersmt'); $this->load->_model('Model_express', 'express'); $this->load->_model('Model_shop', 'shop'); $this->load->_model('Model_typeclass', 'typeclass'); $this->load->_model('Model_country', 'country'); $this->load->_model('Model_warehouse', 'warehouse'); $this->load->_model('Model_kdniao', 'kdniao'); $this->load->_model('Model_notice', 'notice'); $this->load->_model('Model_dhl', 'dhl'); $this->load->_model('Model_shop', 'shop'); $this->load->_model('Model_fullorderexcel', 'fullorderexcel'); $this->load->_model('Model_ljg', 'ljg'); $this->load->_model('Model_usps', 'usps'); $this->load->_model('Model_specialstock', 'specialstock'); $this->load->_model('Model_whlabellabel', 'whlabellabel'); $this->load->_model('Model_whlabelwz', 'whlabelwz'); $this->load->_model('Model_whlabelbarcode', 'whlabelbarcode'); $this->load->_model('Model_whlabeltransport', 'whlabeltransport'); $this->load->_model('Model_orderurl', 'orderurl'); $this->load->_model('Model_brand', 'brand'); $this->load->_model('Model_classid', 'classid'); $this->load->_model('Model_apiyy', 'apiyy'); $this->load->_model('Model_power', 'power'); $this->load->_model('Model_whlabel_type', 'whlabel_type'); $this->load->_model('Model_company', 'company'); $this->load->_model('Model_whlabel_list', 'whlabel_list'); $this->load->_model("Model_logic_whlabel", "logic_whlabel"); $this->load->_model("Model_logic_order","logic_order"); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg, $arg_array) { if ($arg == 'existence') //在库标签 { $this->_existence(); } else if ($arg == 'cpbqdc') //在库标签 { $this->_cpbqdc(); } else if ($arg == 'type') //进销存浏览 { $this->_type(); } else if ($arg == 'typedy') //进销存浏览店员页面 { $this->_typedy($arg_array); } else if ($arg == 'typedy_ck') //进销存浏览店员页面 { $this->_typedy_ck($arg_array); } else if ($arg == 'typeck') { $this->_typeck($arg_array); } else if ($arg == 'whlabeckdc') { $this->_whlabeckdc($arg_array); } else if ($arg == 'usatype') //美仓进销存浏览 { $this->_usatype(); } else if ($arg == 'usatypeapp') //美仓APP进销存浏览 { $this->_usatypeapp(); } else if ($arg == 'enteradd') //入库操作 { $this->_enteradd(); } else if ($arg == 'enteredit') //修改 { $this->_enteredit($arg_array); } else if ($arg == 'enter') //入库浏览 { $this->_enter(); } else if ($arg == 'out') //出库浏览 { $this->_out(); } else if ($arg == 'label') //出库标签浏览 { $this->_label(); } else if ($arg == 'outorder') //独立站出库订单 { $this->_outorder(); } else if ($arg == 'soutorder') //速卖通出库订单 { $this->_soutorder(); } else if ($arg == 'toutorder') //TT出库订单 { $this->_toutorder(); }else if ($arg == 'aoutorder') //amz出库订单 { $this->_aoutorder(); } else if ($arg == 'retreat') //退库订单 { $this->_retreat(); } else if ($arg == 'retreatlk') //退库订单 { $this->_retreatlk(); } else if ($arg == 'change') //更换标签 { $this->_change(); } else if ($arg == 'del') //删除 { $this->_del(); } else if ($arg == 'exceljxc') //进销存信息导出 { $this->_exceljxc(); } else if ($arg == 'excelr') //入库信息导出 { $this->_excelr(); } else if ($arg == 'excelct') //出库、退库信息导出 { $this->_excelct(); } else if ($arg == 'dccrtype') //根据出入库类型导出 { $this->_dccrtype(); } else if ($arg == 'excelcr') //出库、退库信息导出 { $this->_excelcr(); } else if ($arg == 'kcyz') //库存验证 { $this->_kcyz(); } else if ($arg == 'kj') //库存扣减 { $this->_kj($arg_array); } else if ($arg == 'presetout') //预设库存导入 { $this->_presetout($arg_array); } else if ($arg == 'presetedit') //预设库存导入 { $this->_presetedit($arg_array); } else if ($arg == 'summary') //汇总导出 { $this->_summary($arg_array); } else if ($arg == 'manifest') //usps发货清单 { $this->_manifest(); } else if ($arg == 'abnormal') //占单异常 { $this->_abnormal(); } else if ($arg == 'error') //0库存SKU { $this->_error(); } else if ($arg == 'errorexcel') //0库存SKU导出 { $this->_errorexcel(); } else if ($arg == 'db') { $this->_db(); } else if ($arg == 'dbrk') { $this->_dbrk(); } else if ($arg == 'whlabelczdc') { $this->_whlabelczdc(); } else if ($arg == 'print') { $this->_print($arg_array); } else if ($arg == 'usaprint') { $this->_usaprint($arg_array); } else if ($arg == 'printck') { $this->_printck($arg_array); } else if ($arg == 'printrk') { $this->_printrk($arg_array); } else if ($arg == 'printxzrk') { $this->_printxzrk($arg_array); } else if ($arg == 'printexcel') { $this->_printexcel($arg_array); } else if ($arg == 'uck') { $this->_uck(); } else if ($arg == 'whlabelexcelzh') { $this->_whlabelexcelzh(); } else if ($arg == 'fc') { $this->_fc(); } else if ($arg == 'fcmb') { $this->_fcmb(); } else if ($arg == 'fcexcel') { $this->_fcexcel(); } else if ($arg == 'fcjxc') { $this->_fcjxc($arg_array); } else if ($arg == '0kcdel') { $this->_0kcdel(); //导表删除0库存 } else if ($arg == 'gbhtype') { $this->_gbhtype(); //更改备货状态 } else { $this->_index(); } } //管理 public function _index() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $number = $this->input->post('number', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $label = $this->input->post('label', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "1=1 "; if ($timetk && $timetj) { $where .= " and time > '$timetk' and time < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($number) { $where .= " and number = '$number'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($label) { $where .= " and label = '$label'"; } if ($state != '') { $where .= " and state = '$state'"; } //数据排序 $order_str = "time desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,state,purchase,sku,title,label,printing,enter,warehouse,outk,orderinfo,waybill,text,time', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $purchase = $this->purchase->read($value['purchase']); $info_list[$key]['purchase'] = $purchase['title']; if ($value['enter'] != 0) { $info_list[$key]['enter'] = '

' . date('Y-m-d', $value['enter']) . '

' . date('H:i:s', $value['enter']) . '

'; } else { $info_list[$key]['enter'] = ""; } if ($value['outk'] != 0) { $info_list[$key]['outk'] = '

' . date('Y-m-d', $value['outk']) . '

' . date('H:i:s', $value['outk']) . '

'; } else { $info_list[$key]['outk'] = ""; } if ($value['printing'] != 0) { $info_list[$key]['printing'] = '

' . date('Y-m-d', $value['printing']) . '

' . date('H:i:s', $value['printing']) . '

'; } else { $info_list[$key]['printing'] = ""; } if ($value['orderinfo'] == 0) { $info_list[$key]['orderinfo'] = ""; } if ($value['waybill'] == 0) { $info_list[$key]['waybill'] = ""; } if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } else if ($value['state'] == 10) { $info_list[$key]['state'] = "美店零售"; } if ($value['text'] == "") { $info_list[$key]['text'] = ""; } $info_list[$key]['time'] = '

' . date('Y-m-d', $value['time']) . '

' . date('H:i:s', $value['time']) . '

'; } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } if (isset($post['outsku'])) { $cz = $this->input->post('cz', true); if ($cz == '1') { $sku = $this->input->post('outsku', true); if ($sku) { $data = $this->whlabel->find_all("sku = '$sku' and zd = '' and state = '0' and warehouse = '5'"); if (count($data) < 1) { echo json_encode(array('msg' => '库存不足!', 'success' => false)); exit; } $this->whlabel->save(array('state' => 10, 'outk' => time(), 'time' => time(), 'cktype' => 1), $data[0]['id']); echo json_encode(array('success' => true)); exit; } } else { $sku = $this->input->post('outsku', true); if ($sku) { $data = $this->whlabel->find_all("sku = '$sku' and state = '10' and warehouse = '5'"); if (count($data) < 1) { echo json_encode(array('msg' => '没有此SKU出库数据!', 'success' => false)); exit; } $this->whlabel->save(array('state' => 0, 'outk' => 0, 'time' => time()), $data[0]['id']); echo json_encode(array('success' => true)); exit; } } } $this->data['url'] = str_replace('/', '', $this->uri->slash_segment(2)); $this->_Template('whlabel', $this->data); } //在库标签 public function _existence() { $post = $this->input->post(NULL, TRUE); if (isset($post['s'])) { $id_arr = $this->input->post('s'); $id_arr = explode(',', $id_arr); if (!$id_arr) { echo json_encode(array('msg' => '参数错误!', 'success' => false)); exit; } //循环删除记录 foreach ($id_arr as $v) { $sid = $this->whlabel->read($v); $count = $this->whlabel->find_count("state = 0 and sku = '" . $sid['sku'] . "' and warehouse = '" . $sid['warehouse'] . "' and zd != ''"); if ($count > 0) { echo json_encode(array('msg' => '有占单,需要先解除占单!', 'success' => true)); exit; } $zt = $this->whlabeltransport->find_all('sku = "' . $sid['sku'] . '" and warehouse = "' . $sid['warehouse'] . '" and features = "' . $sid['features'] . '" and cz = "0"'); if (count($zt) > 0) { echo json_encode(array('msg' => '有在途库存无法删除!', 'success' => false)); exit; } $this->whlabel->remove($v); } echo json_encode(array('del' => $id_arr, 'msg' => '删除记录成功!', 'success' => true)); exit; } if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $label = $this->input->post('label', true); $where = "1=1 and state = 0"; if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($label) { $where .= " and label = '$label'"; } //数据排序 $order_str = "time asc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,sku,title,label,printing,enter', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { if ($value['enter'] != 0) { $info_list[$key]['enter'] = date('Y-m-d H:i:s', $value['enter']); } else { $info_list[$key]['enter'] = ""; } if ($value['printing'] != 0) { $info_list[$key]['printing'] = date('Y-m-d H:i:s', $value['printing']); } else { $info_list[$key]['printing'] = ""; } } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->_Template('whlabel_existence', $this->data); } //进销存浏览 public function _typedy($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $this->input->post('warehouse', true); $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $lacecolor = $this->input->post('lacecolor', true); $hairnumber = $this->input->post('hairnumber', true); $cklx = $this->input->post('cklx', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if (!empty($hairnumber)) { $where .= " and features like '%-128-%' "; if ($hairnumber < 0) { $class_list = $this->typeclass->find_all('classid = 43'); foreach ($class_list as $v) { $where .= " and features not like '%-" . $v['id'] . "-%'"; } } else { $where .= " and features like '%-$hairnumber-%'"; } } $where_add = ''; if ($cklx) { $shop = $this->shop->read($cklx); $where_add .= " and zd like '" . $shop['shortname'] . "%' and state = 0"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,number,sm', $order_str, $start, $perpage); } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,number,sm', $order_str, $start, $perpage); } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,number,sm', $order_str, $start, $perpage); } $info_list = $this->logic_whlabel->dataTran($info_list, ['pm']); foreach ($info_list as $k => $v) { $info_list[$k]['title'] = $v['title'] . "
" . $v['pm']; unset($info_list[$k]['pm']); unset($info_list[$k]['jm']); unset($info_list[$k]['bm']); } //取得信息列表 $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $c = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid'); $z = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and zd != "" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $info_list[$key]['cpbz'] = '

' . $value['cpbz'] . '

' . $value['sm'] . '

'; $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $info_list[$key]['warehouse'] = $warehouse['title']; $info_list[$key]['features'] = count($c); $z = count($z); //查看订单号 $zt = $this->whlabeltransport->find_all('sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '" and cz = "0"'); $ztdata = ''; if (count($zt) > 0) { foreach ($zt as $vv) { $ztdata .= '

' . $vv['num'] . ' - ' . date('Y-m-d', $vv['stime']) . '

'; } } $info_list[$key]['number'] = $ztdata; $info_list[$key]['sm'] = $z; $details = array(); $cpid = array(); foreach ($c as $k => $v) { $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } $info_list[$key]['details'] = ($cpid) ? implode(" ", $details) . '

' . implode(" ", $cpid) . '

' : implode(" ", $details); if ($value['shop'] != '') { $shop = explode(',', trim($value['shop'], ',')); $shop = $this->shop->read($shop[0]); $info_list[$key]['shop'] = $shop['shopname']; } } $total = count($this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list), 'CS' => $warehouse); echo json_encode($rows); exit; } $this->data['warehouse'] = (isset($arg_array[0])) ? $arg_array[0] : 5; $this->_Template('whlabel_typedy', $this->data); } //进销存浏览 public function _typedy_ck($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $this->input->post('warehouse', true); $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $lacecolor = $this->input->post('lacecolor', true); $cklx = $this->input->post('cklx', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } $where_add = ''; if ($cklx) { $shop = $this->shop->read($cklx); $where_add .= " and zd like '" . $shop['shortname'] . "%' and state = 0"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,number', $order_str, $start, $perpage); } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,number', $order_str, $start, $perpage); } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where . $where_add . ' and zd != ""', 'sku,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,features,zd,COUNT(CASE WHEN zd != "" and state = 0 THEN 1 ELSE NULL END) AS zd', 'zd desc', $start, $perpage); } //取得信息列表 $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $c = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid,text'); //$z = $this->whlabel->find_all($where.' and sku = "'.$value['sku'].'" and zd != "" and state = 0 and warehouse = "'.$value['warehouse'].'" and features = "'.$value['features'].'"'); $info_list[$key]['cpbz'] = '

' . $value['cpbz'] . '

' . $c[0]['text'] . '

'; $ftime = time() - 15 * 24 * 3600; $info_list[$key]['warehouse'] = $warehouse['title']; $info_list[$key]['features'] = count($c) < 10 ? "" . count($c) . "" : count($c); //$z = count($z);//查看订单号 //$info_list[$key]['zd'] = $z; $details = array(); $cpid = array(); foreach ($c as $k => $v) { $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } $info_list[$key]['details'] = ($cpid) ? implode(" ", $details) . '

' . implode(" ", $cpid) . '

' : implode(" ", $details); if ($value['shop'] != '') { $shop = explode(',', trim($value['shop'], ',')); $shop = $this->shop->read($shop[0]); $info_list[$key]['shop'] = $shop['shopname']; } } $total = count($this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list), 'CS' => $warehouse); echo json_encode($rows); exit; } $this->data['warehouse'] = (isset($arg_array[0])) ? $arg_array[0] : 5; $this->_Template('whlabel_typedy_ck', $this->data); } public function _typeck($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lacecolor = $this->input->post('lacecolor', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = 13; $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; } $info_list = $this->whlabel->find_pc($where, 'sku,purchase,features,warehouse', 'id,warehouse,purchase,sku,sm,details,cpbz,features,number,', $order_str, $start, $perpage); //取得信息列表 $t = array(); $typeclass = $this->typeclass->find_all(); foreach ($typeclass as $v) { $t[$v['id']] = $v; } $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $mc = $this->whlabel->find_all("sku = '" . $value['sku'] . "' and features = '" . $value['features'] . "' and warehouse = '" . $value['warehouse'] . "'", 'cpbz', 'id desc', 0, 1); $warehouse = $this->warehouse->read($value['warehouse']); $c = $this->whlabel->find_all($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid'); $z = $this->whlabel->find_all($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and zd != "" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $info_list[$key]['cpbz'] = '

' . $value['cpbz'] . '

' . $value['sm'] . '

'; $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $z = count($z); //查看订单号 $info_list[$key]['warehouse'] = $warehouse['title']; $info_list[$key]['features'] = count($c); $info_list[$key]['number'] = $z; //$info_list[$key]['cpbz'] = $mc[0]['cpbz']; $details = array(); $cpid = array(); foreach ($c as $k => $v) { $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } $info_list[$key]['details'] = ($cpid) ? implode(" ", $details) . '

' . implode(" ", $cpid) . '

' : implode(" ", $details); $classid = $this->classid->sku(); $pm = $classid; $features = explode('-', trim($value['features'], '-')); foreach ($features as $v) { $zh = explode('|', trim($t[$v]['zh'], '|')); $pm[$t[$v]['classid']] = $zh[0]; } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', rtrim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $info_list[$key]['sm'] = $zh; } $total = count($this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list), 'CS' => $warehouse); echo json_encode($rows); exit; } $this->data['warehouse'] = (isset($arg_array[0])) ? $arg_array[0] : 5; $this->_Template('whlabel_typeck', $this->data); } //进销存导出 public function _whlabeckdc() { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } if (isset($_GET['excel'])) { $where = "sku != 'Preset'"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $category = $this->input->get('category', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $lacetype = $this->input->get('lacetype', true); $size = $this->input->get('size', true); $density = $this->input->get('density', true); $haircap = $this->input->get('haircap', true); $sku = $this->input->get('sku', true); $details = $this->input->get('details', true); $warehouse = 13; $excelid = $this->input->get('sid', true); if ($category) { $where .= " and features like '%-$category-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($sku) { $where .= " and sku like '%$sku%'"; } if ($details) { $where .= " and details = '$details'"; } $xzid = ''; if ($excelid) { $excelid = explode(',', trim($excelid, ',')); foreach ($excelid as $key => $value) { $xzid .= " id = " . $value . " or"; } $xzid = " and (" . rtrim($xzid, 'or') . ")";; } //取得信息列表 /** $info_list = $this->whlabel->find_all($where.$xzid,'*'); $rows = array();$list = array(); foreach ($info_list as $key=>$value) { $rows[strtolower($value['sku']).$value['features'].$value['warehouse']] = $value;//所有数据sku } **/ $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $tc = array(); $tcdata = array(); $typeclass = $this->typeclass->find_all(); foreach ($typeclass as $v) { $tc[$v['id']] = $v; } $list = array(); $rows = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,purchase,details,cpid,sku,cpbz,cs,title,dbcontent,number,features'); foreach ($rows as $key => $value) { $bm = '03'; $bmpx = array(13 => '', 16 => '', 18 => '', 25 => '', 26 => '', 41 => ''); $rows[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $classid = $this->classid->sku(); $pm = $classid; $jm = $classid; $features = explode('-', trim($value['features'], '-')); foreach ($features as $v) { if (isset($tc[$v]) && isset($bmpx[$tc[$v]['classid']])) { if ($tc[$v]['bm'] != '') { $bmpx[$tc[$v]['classid']] = $tc[$v]['bm']; } } if (isset($tc[$v])) { $zh = explode('|', trim($tc[$v]['zh'], '|')); $pm[$tc[$v]['classid']] = $zh[0]; } if (isset($tc[$v])) { if (isset($jm[$tc[$v]['classid']])) { $jm[$tc[$v]['classid']] = $tc[$v]['jm']; } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', rtrim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $rows[$key]['dbcontent'] = $zh; $rows[$key]['cpbz'] = $bm . implode("", $bmpx); $jm = array_filter($jm); $rows[$key]['cs'] = implode("-", $jm); $sd = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid,cpbz,state'); $details = array(); $cpid = array(); $cpbz = array(); $c = 0; $g = 0; $x = 0; $t = 0; $s = 0; $q = 0; foreach ($sd as $k => $v) { if ($v['state'] == 0) { $c++; } if ($v['state'] != 9) { $g++; } if ($v['state'] == 1) { $x++; } if ($v['state'] == 2) { $t++; } if ($v['state'] == 8) { $s++; } if ($v['state'] == "3" || $v['state'] == "4" || $v['state'] == "5" || $v['state'] == "6" || $v['state'] == "7") { $q++; } $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } if ($v['cpbz'] != '') { $cpbz[$v['cpbz']] = $v['cpbz']; } } $rows[$key]['details'] = implode("、", $details); $rows[$key]['cpid'] = ($cpid) ? implode(" ", $cpid) : ''; $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $rows[$key]['warehouse'] = $wh[$value['warehouse']]; $rows[$key]['number'] = $g; $rows[$key]['features'] = $c; $rows[$key]['x'] = $x; $rows[$key]['t'] = $t; $rows[$key]['s'] = $s; $rows[$key]['q'] = $q; $rows[$key]['wzsl'] = count($details); } $title = "进销存统计表" . date('Y-m-d', time()); $titlename = "

" . $title . "

仓库 供应商 位置 库存编码 SKU 用友编码 用友料号 产品英文名 产品中文名 入库总量 库存数量 销售数量 退货数量 删除数量 其它操作 位置数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($rows, $titlename, $filename, $tail); } } public function _type() { $vip = 0; if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $fgshop = ""; $sid = ""; $usersp = explode('|', trim($user['shop'], '|')); foreach ($usersp as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } if ($user['vip'] == 1) { $vip = 1; } } else { header('Location: /'); exit; } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $company = array(); $ct = $this->company->find_all(); foreach ($ct as $k => $v) { $company[$v['id']] = $v['title']; } $sp = array(); $s = $this->shop->find_all('1=1', 'id,shopname'); foreach ($s as $v) { $sp[$v['id']] = $v['shopname']; } $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $this->input->post('warehouse', true); $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $shop = $this->input->post('shop', true); $lacecolor = $this->input->post('lacecolor', true); $hairnumber = $this->input->post('hairnumber', true); $type = $this->input->post('type', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $cpbz = $this->input->post('cpbz', true); $where = "1=1"; $gj = ""; $ck = ""; if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($shop) { $where .= " and shop like '%$shop%'"; } if ($type) { $where .= " and type = '$type'"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } if ($cpbz) { $where .= " and cpbz like '%$cpbz%' "; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if (!empty($hairnumber)) { $where .= " and features like '%-128-%' "; if ($hairnumber < 0) { $class_list = $this->typeclass->find_all('classid = 43'); foreach ($class_list as $v) { $where .= " and features not like '%-" . $v['id'] . "-%'"; } } else { $where .= " and features like '%-$hairnumber-%'"; } } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $fjnr = ''; if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $fjnr .= " and sku like '%$sku%'"; } if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $fjnr .= " and title like '%$title%'"; } $wt = array(); $whlabel_type = $this->whlabel_type->find_all(); foreach ($whlabel_type as $v) { $wt[$v['id']] = $v['title']; } //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where . $fjnr, 'sku,purchase,features,warehouse', 'id,warehouse,purchase,sku,title,details,shop,cpbz,type,features,number,sm', $order_str, $start, $perpage); //改这需要修改_gbhtype //取得信息列表 $info_list = $this->logic_whlabel->dataTran($info_list, ['pm']); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { if (isset($wt[$value['type']])) { $info_list[$key]['type'] = $wt[$value['type']]; } else { $info_list[$key]['type'] = '未设置'; } $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $zt = $this->whlabeltransport->find_all('sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '" and cz = "0"'); $ztdata = ''; if (count($zt) > 0) { foreach ($zt as $vv) { $ztdata .= '

' . $vv['num'] . ' - ' . date('Y-m-d', $vv['stime']) . '

'; } } $qbdata = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and purchase = "' . $value['purchase'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $cdata = array_filter($qbdata, function ($item) { return $item['state'] < 1; }); $c = array_sum(array_column($cdata, 'jnum')); $gdata = array_filter($qbdata, function ($item) use ($ktime, $jtime) { return $item['state'] < 100 && $item['enter'] > $ktime && $item['enter'] < $jtime; }); $g = array_sum(array_column($gdata, 'jnum')); $xdata = array_filter($qbdata, function ($item) use ($ktime, $jtime) { return $item['state'] == 1 && $item['outk'] > $ktime && $item['outk'] < $jtime; }); $x = array_sum(array_column($xdata, 'jnum')); $tdata = array_filter($qbdata, function ($item) use ($ktime, $jtime) { return $item['retreat'] > 0 && $item['outk'] > $ktime && $item['outk'] < $jtime; }); $t = array_sum(array_column($tdata, 'jnum')); $zdata = array_filter($qbdata, function ($item) { return $item['zd'] != "" && $item['state'] < 1; }); $z = array_sum(array_column($zdata, 'jnum')); $zdata = array_filter($qbdata, function ($item) { return $item['zd'] != "" && $item['state'] < 1; }); $z = array_sum(array_column($zdata, 'jnum')); //$c = $this->whlabel->find_all($where.' and sku = "'.$value['sku'].'" and state = 0 and purchase = "'.$value['purchase'].'" and warehouse = "'.$value['warehouse'].'" and features = "'.$value['features'].'"','details,cpid'); //$g = $this->whlabel->find_count($where.$gj.' and sku = "'.$value['sku'].'" and state < 100 and purchase = "'.$value['purchase'].'" and warehouse = "'.$value['warehouse'].'" and features = "'.$value['features'].'"'); //$x = $this->whlabel->find_count($where.$ck.' and sku = "'.$value['sku'].'" and state = 1 and purchase = "'.$value['purchase'].'" and warehouse = "'.$value['warehouse'].'" and features = "'.$value['features'].'"'); //$t = $this->whlabel->find_count($where.$ck.' and sku = "'.$value['sku'].'" and retreat > 0 and purchase = "'.$value['purchase'].'" and warehouse = "'.$value['warehouse'].'"'); //$z = $this->whlabel->find_all($where.' and sku = "'.$value['sku'].'" and zd != "" and state = 0 and purchase = "'.$value['purchase'].'" and warehouse = "'.$value['warehouse'].'" and features = "'.$value['features'].'"'); $details = array(); $cpid = array(); $od = array(); $odid = ''; $companytitle = ''; foreach ($qbdata as $v) { if ($v['zd'] != "" && $v['state'] < 1) { if (!isset($od[$v['zd']])) { $od[$v['zd']] = 1; //所有数据sku } else { $od[$v['zd']] = $od[$v['zd']] + 1; } } if ($v['state'] < 1) { $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } if ($v['companytitle'] != '' && stripos($companytitle, $company[$v['companytitle']]) === false) { $companytitle .= '

' . $company[$v['companytitle']] . '

'; } } foreach ($od as $k => $vv) { $odid .= $k . '数量' . $vv; } $info_list[$key]['cpbz'] = '

' . $value['cpbz'] . '

' . $value['sm'] . '

'; $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $z = $z . '(' . $odid . ')'; //查看订单号 $info_list[$key]['warehouse'] = isset($wh[$value['warehouse']]) ? $wh[$value['warehouse']] : '无'; $info_list[$key]['features'] = $c; $info_list[$key]['number'] = $ztdata; $info_list[$key]['sm'] = $g; $info_list[$key]['x'] = $x; $info_list[$key]['t'] = $t; $info_list[$key]['z'] = $z; /** foreach ($cdata as $k=>$v) { $details[$v['details']] = $v['details']; if($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } **/ $info_list[$key]['shop'] = ''; $info_list[$key]['details'] = ($cpid) ? implode(" ", $details) . '

' . implode(" ", $cpid) . '

' : implode(" ", $details); if ($value['shop'] != '') { $shop = explode(',', trim($value['shop'], ',')); $info_list[$key]['shop'] = '

' . $sp[$shop[0]] . '

'; } $info_list[$key]['shop'] .= $companytitle; /** $companytitle = $this->whlabel->find_pc($where.$fjnr,'companytitle','companytitle'); if(isset($companytitle[0])) { foreach ($companytitle as $k=>$v) { if($v['companytitle'] != '') { $info_list[$key]['shop'] .= '

'.$company[$v['companytitle']].'

'; } } } **/ } $final_all_list = []; foreach ($info_list as $k => $v) { $final_all_list[] = [ 'id' => $v['id'], "warehouse" => $v["warehouse"], "purchase" => $v["purchase"], "sku" => $v["sku"], "title" => $v["title"] . "
" . $v["pm"], "details" => $v["details"], "shop" => $v["shop"], "cpbz" => $v["cpbz"], "type" => $v["type"], "features" => $v["features"], "number" => $v["number"], "sm" => $v["sm"], "x" => $v["x"], "t" => $v["t"], "z" => $v["z"] ]; } $total = count($this->whlabel->find_pc($where . $fjnr, 'sku,purchase,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($final_all_list)); echo json_encode($rows); exit; } $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['shop'] = $wlshop; $this->data['vip'] = $vip; $this->_Template('whlabel_type', $this->data); } //美仓进销存浏览 public function _usatype() { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $wid = ""; $wtype = ""; $userwh = explode('|', trim($user['warehouse'], '|')); foreach ($userwh as $value) { $wid .= " id = " . $value . " or"; $wtype .= " type = " . $value . " or"; } } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $this->input->post('warehouse', true); $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $lacecolor = $this->input->post('lacecolor', true); $cklx = $this->input->post('cklx', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } $where_add = ''; if ($cklx) { $shop = $this->shop->read($cklx); $where_add .= " and zd like '" . $shop['shortname'] . "%' and state = 0"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,sku,title,features,warehouse', $order_str, $start, $perpage); } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,sku,title,features,warehouse', $order_str, $start, $perpage); } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,sku,title,features,warehouse', $order_str, $start, $perpage); } //取得信息列表 $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $c = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $g = $this->whlabel->find_count($where . $gj . ' and sku = "' . $value['sku'] . '" and state < 100 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $x = $this->whlabel->find_count($where . $ck . ' and sku = "' . $value['sku'] . '" and state = 1 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $t = $this->whlabel->find_count($where . $ck . ' and sku = "' . $value['sku'] . '" and retreat > 0 and warehouse = "' . $value['warehouse'] . '"'); $z = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and zd != "" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $od = array(); $odid = ''; foreach ($z as $v) { if (!isset($od[$v['zd']])) { $od[$v['zd']] = 1; //所有数据sku } else { $od[$v['zd']] = $od[$v['zd']] + 1; } } foreach ($od as $k => $vv) { $odid .= $k . '数量' . $vv . ' '; } $z = count($z) . '(' . $odid . ')'; //查看订单号 $info_list[$key]['features'] = $c; $zt = $this->whlabeltransport->find_all('sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '" and cz = "0"'); $ztdata = ''; if (count($zt) > 0) { foreach ($zt as $vv) { $ztdata .= '

' . $vv['num'] . ' - ' . date('Y-m-d', $vv['stime']) . '

'; } } $info_list[$key]['warehouse'] = $ztdata; $info_list[$key]['g'] = $g; $info_list[$key]['x'] = $x; $info_list[$key]['t'] = $t; $info_list[$key]['z'] = $z; } $total = count($this->whlabel->find_pc($where . $where_add, 'sku,features,warehouse', 'id,warehouse,sku,title')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list), 'CS' => $warehouse); echo json_encode($rows); exit; } $warehouse = $this->warehouse->find_all('1=1 and ' . rtrim($wid, 'or'), "*", "px asc"); $this->data['warehouse'] = $warehouse; $this->_Template('whlabel_typeusa', $this->data); } //美仓进销存浏览 public function _usatypeapp() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $warehouse = 5; $title = $this->input->post('title', true); $state = $this->input->post('state', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($title) { $st = explode(' ', trim($title, ' ')); foreach ($st as $v) { $where .= " and title like '%$v%'"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($state) { $where .= " and state = '$state'"; } if ($sku) { $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where . ' and ' . rtrim($wid, 'or'), '*'); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $rows[strtolower($value['sku']) . 'warehouse' . $value['warehouse']] = $value; //所有数据sku } $rowsdq = array_slice($rows, $start, $perpage); foreach ($rowsdq as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $c = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '"'); $x = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and state = 1 and warehouse = "' . $value['warehouse'] . '"'); $t = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and retreat > 0 and warehouse = "' . $value['warehouse'] . '"'); $od = array(); $odid = ''; $list[] = array('id' => $value['id'], 'sku' => $value['sku'], 'title' => $value['title'], 'c' => $c, 'x' => $x, 't' => $t); } $total = count($rows); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($list)); echo json_encode($rows); exit; } $this->_Template('phone/p_usatypeapp', $this->data); } //入库操作 public function _enteradd() { $dt = 0; if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } } $tc = $this->typeclass->find_all(); $typeclass = array(); foreach ($tc as $v) { $tcjm[$v['id']] = array($v['jm'], $v['classid']); $typeclass[$v['id']] = array('zh' => $v['zh'], 'classid' => $v['classid'], 'bm' => $v['bm'], 'title' => $v['title'], 'bqsku' => $v['bqsku']); } $post = $this->input->post(NULL, TRUE); if (isset($post['sku'])) { $list = array(); $num = ""; $title = ""; $features = ""; $order = $this->input->post('order', true); $shop = $this->input->post('shop', true); $post['shop'] = ($shop != "") ? ',' . $shop : ""; $sku = $this->input->post('sku', true); $post['sm'] = $this->input->post('sm', true); $post['warehouse'] = $this->input->post('warehouse', true); $post['purchase'] = $this->input->post('purchase', true); $post['retreatwarehouse'] = $post['warehouse']; $post['state'] = $this->input->post('state', true); $post['rktype'] = $this->input->post('rktype', true); $post['text'] = $this->input->post('text', true); $category = $this->input->post('category', true); $list['category'] = $category; $list['hairtype'] = $this->input->post('hairtype', true); $list['grade'] = $this->input->post('grade', true); $size = $this->input->post('size', true); $xzsku = $this->input->post('xzsku', true); $list['size'] = rtrim($size, ','); $list['hairnumber'] = $this->input->post('hairnumber', true); $list['extension'] = $this->input->post('extension', true); if ($category == 1297) { $list['sywignumber'] = $this->input->post('sywignumber', true); } if ($category == 1702) { $list['syhairnumber'] = $this->input->post('syhairnumber', true); $list['syother'] = $this->input->post('syother', true); } if ($category == 133) { $list['fittype'] = $this->input->post('fittype', true); $list['acother'] = $this->input->post('acother', true); } $list['color'] = $this->input->post('color', true); $list['lowe'] = $this->input->post('lowe', true); if (!$post['purchase']) { $post['purchase'] = 1; } if ($category == 127) { $list['type'] = $this->input->post('type', true); $list['headroad'] = $this->input->post('headroad', true); $list['density'] = $this->input->post('density', true); if ($list['type'] == 195 || $list['type'] == 197 || $list['type'] == 199) { $list['lacesize'] = $this->input->post('lacesize', true); } $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); } if ($category == 128) { $list['lacetype'] = $this->input->post('lacetype', true); $list['haircap'] = $this->input->post('haircap', true); $list['density'] = $this->input->post('density', true); $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); $list['wigother'] = $this->input->post('wigother', true); $list['wigother2'] = $this->input->post('wigother2', true); } if ($category == 129) { $list['wide'] = $this->input->post('wide', true); } if ($category == 131) { $list['gifttype'] = $this->input->post('gifttype', true); $list['giftother'] = $this->input->post('giftother', true); } if ($category == 134) { $list['pieceweight'] = $this->input->post('pieceweight', true); } if ($category == 1297) { $list['synthetictype'] = $this->input->post('synthetictype', true); $list['sywigother'] = $this->input->post('sywigother', true); } if ($category == 130 || $category == 133 || $category == 1702) { $list['items'] = $this->input->post('items', true); $list['weight'] = $this->input->post('weight', true); } if ($category == 1702) { $list['syhairther'] = $this->input->post('syhairther', true); } $classid = $this->classid->sku(); $scsku = $classid; $pm = $classid; foreach ($list as $k => $v) { if ($v != 0) { $num .= $v; $features .= $v . '-'; $post[$k] = $v; $scsku[$typeclass[$v]['classid']] = $typeclass[$v]['bqsku']; if ($k != 'size') { $title .= $typeclass[$v]['title'] . " "; } if (isset($pm[$typeclass[$v]['classid']])) { if ($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if ($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if (stripos($typeclass[$v]['zh'], '|') !== false) { $clzh = explode('|', rtrim($typeclass[$v]['zh'], '|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } } } $zh = implode(" ", $pm); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $zh = preg_replace("/\r\n|\r|\n/", '', trim($zh, ' ')); if ($list['size']) { $typeclass = $this->typeclass->read($list['size']); $title .= $typeclass['title']; } $time = time(); if ($xzsku) { $scsku = implode("-", $scsku); $scsku = str_replace('- ', '-', trim($scsku, '-')); $scsku = str_replace(array('--------', '-------', '------', '-----', '----', '---', '--'), '-', $scsku); $post['sku'] = trim($scsku, ' '); } else { $post['sku'] = $sku; } //$post['sku'] = trim($sku,' '); $post['title'] = rtrim($title, ' '); $post['number'] = $num; $post['features'] = '-' . $features; $post['enter'] = $time; $post['time'] = $time; //操作时间 $yza = $this->whlabel->find_all("sku = '" . $post['sku'] . "' and warehouse = '" . $post['warehouse'] . "' and shop = '" . $post['shop'] . "'"); if ($yza) { if ($post['features'] != $yza[0]['features']) { echo json_encode(array('msg' => '此SKU的产品信息和现有不一致!', 'new' => $post['features'] . '-' . $post['sku'], 'old' => $yza[0]['features'], 'success' => false)); exit; } } $yzb = $this->whlabel->find_all("features = '" . $post['features'] . "' and warehouse = '" . $post['warehouse'] . "' and shop = '" . $post['shop'] . "'"); if ($yzb) { if ($post['sku'] != $yzb[0]['sku']) { echo json_encode(array('msg' => '此产品信息的SKU和现有' . $yzb[0]['sku'] . '不一致!', 'success' => false)); exit; } } if (isset($yza[0]) && $post['warehouse'] == 5 && $yza[0]['shop'] != $post['shop']) { echo json_encode(array('msg' => '此产品店铺信息和现有不一致!', 'success' => false)); exit; } if ($post['rktype'] != 1 && $post['text'] == '' && $post['warehouse'] == 5) { echo json_encode(array('msg' => '非采购入库必须填写入库分类备注!', 'success' => false)); exit; } if ($post['rktype'] == '' && $post['warehouse'] == 5) { echo json_encode(array('msg' => '美仓必须填写入库分类!', 'success' => false)); exit; } $yz = $this->whlabel->find_all("sku = '" . $post['sku'] . "' and features = '" . $post['features'] . "' and warehouse = '" . $post['warehouse'] . "' and shop = '" . $post['shop'] . "'", 'type'); if (isset($yz[0]['type'])) { $post['type'] = $yz[0]['type']; } if ($post['state'] == 9) //如果选择预设库存 { $this->whlabel->insert($post); } else { /** $ljg = $this->ljg->get_enteradd(array('sku'=>$post['sku'],'title'=>$post['title'],'number'=>$order)); if($ljg == 1) { for($i=0;$i<$order;$i++) { $post['label'] = time().rand(100,999).$i;//产品标签 辨别各个产品,暂不使用 $this->whlabel->insert($post); } } **/ //if($post['warehouse'] == '5') //{ //} $yydata = $post; $yydata['zh'] = $zh; /** $wl = $this->apiyy->get_cjlp($yydata); if(!isset($wl['Data'][0]['m_isSucess']) || $wl['Data'][0]['m_isSucess'] != 1) { echo json_encode(array('msg'=>'用友ERP写入失败,请重试','success'=>false));exit; } if($wl['Data'][0]['m_isSucess'] != 1) { echo json_encode(array('msg'=>$wl['Data'][0]['m_errorMsg'],'success'=>false));exit; } **/ for ($i = 0; $i < $order; $i++) { $post['label'] = time() . rand(100, 999) . $i; //产品标签 辨别各个产品,暂不使用 $this->whlabel->insert($post); } } echo json_encode(array('msg' => '入库成功', 'success' => true)); exit; } $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $this->_Template('whlabel_enteradd', $this->data); } //修改产品 public function _enteredit($arg_array) { $dt = 0; if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } } $post = $this->input->post(NULL, TRUE); if (isset($post['sku'])) { $list = array(); $num = ""; $title = ""; $features = ""; $id = $this->input->post('id', true); $order = $this->input->post('order', true); $shop = $this->input->post('shop', true); $post['shop'] = ($shop != "") ? ',' . $shop : ""; $post['sku'] = $this->input->post('sku', true); $post['sm'] = $this->input->post('sm', true); $post['warehouse'] = $this->input->post('warehouse', true); $post['purchase'] = $this->input->post('purchase', true); $post['retreatwarehouse'] = $post['warehouse']; $category = $this->input->post('category', true); $list['category'] = $category; $list['hairtype'] = $this->input->post('hairtype', true); $list['grade'] = $this->input->post('grade', true); $size = $this->input->post('size', true); $list['size'] = rtrim($size, ','); $post['rktype'] = $this->input->post('rktype', true); $post['text'] = $this->input->post('text', true); $list['hairnumber'] = $this->input->post('hairnumber', true); $list['extension'] = $this->input->post('extension', true); if ($category == 1297) { $list['sywignumber'] = $this->input->post('sywignumber', true); } if ($category == 1702) { $list['syhairnumber'] = $this->input->post('syhairnumber', true); $list['syother'] = $this->input->post('syother', true); } if ($category == 133) { $list['fittype'] = $this->input->post('fittype', true); $list['acother'] = $this->input->post('acother', true); } $list['color'] = $this->input->post('color', true); $list['lowe'] = $this->input->post('lowe', true); if (!$post['purchase']) { $post['purchase'] = 1; } if ($category == 127) { $list['type'] = $this->input->post('type', true); $list['headroad'] = $this->input->post('headroad', true); $list['density'] = $this->input->post('density', true); if ($list['type'] == 195 || $list['type'] == 197 || $list['type'] == 199) { $list['lacesize'] = $this->input->post('lacesize', true); } $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); } if ($category == 128) { $list['lacetype'] = $this->input->post('lacetype', true); $list['haircap'] = $this->input->post('haircap', true); $list['density'] = $this->input->post('density', true); $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); $list['wigother'] = $this->input->post('wigother', true); $list['wigother2'] = $this->input->post('wigother2', true); } if ($category == 129) { $list['wide'] = $this->input->post('wide', true); } if ($category == 131) { $list['gifttype'] = $this->input->post('gifttype', true); $list['giftother'] = $this->input->post('giftother', true); } if ($category == 134) { $list['pieceweight'] = $this->input->post('pieceweight', true); } if ($category == 1297) { $list['synthetictype'] = $this->input->post('synthetictype', true); $list['sywigother'] = $this->input->post('sywigother', true); } if ($category == 130 || $category == 133 || $category == 1702) { $list['items'] = $this->input->post('items', true); $list['weight'] = $this->input->post('weight', true); } if ($category == 1702) { $list['syhairther'] = $this->input->post('syhairther', true); } foreach ($list as $k => $v) { if ($v != 0) { $num .= $v; $features .= $v . '-'; $typeclass = $this->typeclass->read($v); if ($k != 'size') { $title .= $typeclass['title'] . " "; } } } $typeclass = $this->typeclass->read($list['size']); $title .= $typeclass['title']; $time = time(); $post['title'] = rtrim($title, ' '); $post['number'] = $num; $post['features'] = '-' . $features; $post['time'] = $time; //操作时间 if ($post['rktype'] == '' && $post['warehouse'] == 5) { echo json_encode(array('msg' => '美仓必须填写入库分类!', 'success' => false)); exit; } if ($post['rktype'] != 1 && $post['text'] == '' && $post['warehouse'] == 5) { echo json_encode(array('msg' => '非采购入库必须填写入库分类备注!', 'success' => false)); exit; } $uid = $this->whlabel->read($id); $datanum = $this->whlabel->find_count("state = 0 and sku = '" . $uid['sku'] . "' and warehouse = '" . $uid['warehouse'] . "' and zd != ''"); if ($datanum > 0) { echo json_encode(array('msg' => '此SKU有占单,请解除占单后再修改!', 'success' => false)); exit; } if ($post['warehouse'] != '99999') //现在所有仓都检测,之前只有美仓5检测 { $yza = $this->whlabel->find_all("sku = '" . $post['sku'] . "' and warehouse = '" . $post['warehouse'] . "'"); if ($yza) { if ($post['features'] != $yza[0]['features']) { echo json_encode(array('msg' => '此SKU的产品信息和现有不一致!', 'success' => false)); exit; } } $yzb = $this->whlabel->find_all("features = '" . $post['features'] . "' and warehouse = '" . $post['warehouse'] . "'"); if ($yzb) { if ($post['sku'] != $yzb[0]['sku']) { echo json_encode(array('msg' => '此产品信息的SKU和现有不一致!', 'success' => false)); exit; } } if ($post['warehouse'] == 5 && $yza[0]['shop'] != $post['shop']) { echo json_encode(array('msg' => '此产品店铺信息和现有不一致!', 'success' => false)); exit; } $data = $this->whlabel->find_all("sku = '" . $uid['sku'] . "' and warehouse = '" . $uid['warehouse'] . "'"); // and enter = '".$uid['enter']."' foreach ($data as $v) { $post['id'] = $v['id']; $this->whlabel->save($post, $v['id']); } } else { $data = $this->whlabel->find_count("state = 0 and sku = '" . $uid['sku'] . "' and warehouse = '" . $uid['warehouse'] . "' and zd != ''"); if ($data > 0) { echo json_encode(array('msg' => '此产品有占单,无法修改!', 'success' => false)); exit; } else { $data = $this->whlabel->find_all("sku = '" . $uid['sku'] . "' and warehouse = '" . $uid['warehouse'] . "'"); // and enter = '".$uid['enter']."' foreach ($data as $v) { $post['id'] = $v['id']; $this->whlabel->save($post, $v['id']); } } } echo json_encode(array('msg' => '修改成功', 'success' => true)); exit; } $uid = $this->whlabel->read($arg_array[0]); $uid['order'] = $this->whlabel->find_count('enter = "' . $uid['enter'] . '" and sku = "' . $uid['sku'] . '" and state = "0"'); $this->data['enter'] = $uid; $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $this->_Template('whlabel_enteredit', $this->data); } //入库浏览 public function _enter() { $post = $this->input->post(NULL, TRUE); if (isset($post['s'])) { $id_arr = $this->input->post('s'); $id_arr = explode(',', $id_arr); if (!$id_arr) { echo json_encode(array('msg' => '参数错误!', 'success' => false)); exit; } //循环删除记录 foreach ($id_arr as $v) { $sid = $this->whlabel->read($v); $count = $this->whlabel->find_count("state = 0 and sku = '" . $sid['sku'] . "' and warehouse = '" . $sid['warehouse'] . "' and zd != ''"); if ($count > 0) { echo json_encode(array('msg' => '有占单,需要先解除占单!', 'success' => true)); exit; } $info_list = $this->whlabel->find_all('enter =' . $sid['enter']); foreach ($info_list as $va) { $this->whlabel->remove($va['id']); } } echo json_encode(array('del' => $id_arr, 'msg' => '删除记录成功!', 'success' => true)); exit; } $sp = array(); $s = $this->shop->find_all('1=1', 'id,shopname'); foreach ($s as $v) { $sp[$v['id']] = $v['shopname']; } $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($sku) { $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { $where .= " and enter > '$ktime' and enter < '$jtime'"; } //数据排序 $order_str = "enter desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_pc($where, 'enter,warehouse,sku', 'id,warehouse,shop,sku,title,enter', $order_str, $start, $perpage); foreach ($info_list as $k => $v) { $info_list[$k]['warehouse'] = $wh[$v['warehouse']]; if ($v['shop'] == '') { $s = '通用'; } else { $info_list[$k]['shop'] = ''; foreach (explode(',', trim($v['shop'], ',')) as $val) { $info_list[$k]['shop'] .= $sp[$val] . '
'; } } $info_list[$k]['enter'] = date('Y-m-d H:i:s', $v['enter']); $g = $this->whlabel->find_count($where . ' and enter = "' . $v['enter'] . '" and sku = "' . $v['sku'] . '" and warehouse = "' . $v['warehouse'] . '"'); $info_list[$k]['g'] = $g; } $total = count($this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->_Template('whlabel_enter', $this->data); } //出库浏览 public function _out() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $state = $this->input->post('state', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "state=3"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($state) { $where .= " and state = '$state'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($ktime && $jtime) { $where .= " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'sku'); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $rows[] = $value['sku'] . 'warehouse' . $value['warehouse']; //所有数据sku } $rows = array_unique($rows); //删除重复记录 foreach ($rows as $key => $value) { $data = $this->whlabel->get_sku($value); //获取目前sku的所有数据 $ck = $this->warehouse->read($data['warehouse']); $warehouse = $ck['title']; $gy = $this->purchase->read($data['purchase']); $purchase = $gy['purchase']; $g = $this->whlabel->find_count($where . ' and sku = "' . $value . '" and state = 3'); $list[] = array('id' => $data['id'], 'warehouse' => $warehouse, 'purchase' => $purchase, 'sku' => $data['sku'], 'title' => $data['title'], 'time' => date('Y-m-d H:i:s', $data['enter']), 'number' => $g); } $total = count($list); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $list = array_slice($list, $start, $perpage); //数组中提取分页指定的内容 +true key排序不变 $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($list)); echo json_encode($rows); exit; } $this->_Template('whlabel_out', $this->data); } //出库标签浏览 public function _label() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $where = "state=1"; if ($sku) { $where .= " and sku = '$sku'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } //数据排序 $order_str = "outk desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,warehouse,sku,title,label,purchase,orderinfo,waybill,outk', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $purchase = $this->purchase->read($value['purchase']); $info_list[$key]['purchase'] = $purchase['title']; if ($value['outk'] != 0) { $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); } else { $info_list[$key]['outk'] = ""; } if ($value['orderinfo'] == 0) { $info_list[$key]['orderinfo'] = ""; } if ($value['waybill'] == 0) { $info_list[$key]['waybill'] = ""; } } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->_Template('whlabel_label', $this->data); } //独立站出库订单 public function _outorder() { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } } else { echo "请重新登录"; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $xztime = $this->input->post('xztime', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $shop = $this->input->post('shop', true); $source = $this->input->post('source', true); $orderinfo = $this->input->post('orderinfo', true); $number = $this->input->post('number', true); $sfxh = $this->input->post('sfxh', true); $express = $this->input->post('express', true); $waybill = $this->input->post('waybill', true); $library = $this->input->post('library', true); $country = $this->input->post('country', true); $so = $this->input->post('so', true); $libraryconfirm = $this->input->post('libraryconfirm', true); $print = $this->input->post('print', true); $state = $this->input->post('state', true); $orderurl = $this->input->post('orderurl', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); /** $sj = $this->input->post('sj',true); if($sj) { $sj = $this->input->post('sj',true); } else { $sj = "fullorder"; } **/ $sj = "fullorder"; $where = "1=1"; if ($warehouse) { $where .= " and type = '$warehouse'"; } if ($timetk && $timetj) { $where .= " and " . $xztime . " > '$timetk' and " . $xztime . " < '$timetj'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($number) { $where .= " and number = '$number'"; } if ($express) { $where .= " and express = '$express'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($library) { $where .= " and library = '$library'"; } if ($print) { $where .= " and print = '$print'"; } if ($libraryconfirm) { $where .= " and libraryconfirm = '$libraryconfirm'"; } if ($state) { $where .= " and state = '$state'"; } if ($shop) { $where .= " and shop = '$shop'"; } if ($country) { $where .= " and country = '$country'"; } if ($sfxh != '') { $where .= " and sfxh = '$sfxh'"; } if ($so) { $where .= " and shipremarks like '%$so%'"; } if ($source) { if ($source == '2d') { $where .= " and source >= '2'"; } else { $where .= " and source = '$source'"; } } if (isset($_SESSION['api'])) { foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; } $where .= " and (" . rtrim($fgshop, 'or') . ")"; } if ($orderurl) { $url = $this->orderurl->read($orderurl); $where .= " and link like '%" . $url['url'] . "%'"; } //数据排序 $order_str = "librarytime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$sj->find_all($where, 'id,shop,type,orderinfo,number,waybill,express,librarytime', $order_str, $start, $perpage); //格式化数据 foreach ($info_list as $key => $value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if ($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = '' . date('Y-m-d H:i:s', $value['librarytime']) . ''; } } $total = $this->$sj->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['express'] = $this->express->find_all(); $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $user = $this->user->get_api($_SESSION['api']); $powerid = $this->power->read($user['power']); $powertext = explode('|', trim($powerid['excelid'], '|')); $pid = ''; foreach ($powertext as $v) { $pid .= " id = " . $v . " or"; } $fullorderexcel = $this->fullorderexcel->find_all("type = '100002' and (" . rtrim($pid, 'or') . ")", '*', 'idorder desc'); //导出模板 $this->data['fullorderexcel'] = $fullorderexcel; $orderurl = $this->orderurl->find_all(rtrim($fgshop, 'or')); $this->data['orderurl'] = $orderurl; $this->_Template('whlabel_outorder', $this->data); } //tt出库 public function _toutorder() { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } } else { echo "请重新登录"; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $xztime = $this->input->post('xztime', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $shop = $this->input->post('shop', true); $source = $this->input->post('source', true); $orderinfo = $this->input->post('orderinfo', true); $number = $this->input->post('number', true); $sfxh = $this->input->post('sfxh', true); $express = $this->input->post('express', true); $waybill = $this->input->post('waybill', true); $library = $this->input->post('library', true); $country = $this->input->post('country', true); $so = $this->input->post('so', true); $libraryconfirm = $this->input->post('libraryconfirm', true); $print = $this->input->post('print', true); $state = $this->input->post('state', true); $orderurl = $this->input->post('orderurl', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); /** $sj = $this->input->post('sj',true); if($sj) { $sj = $this->input->post('sj',true); } else { $sj = "fullorder"; } **/ $sj = "fullordertt"; $where = "1=1"; if ($warehouse) { $where .= " and type = '$warehouse'"; } if ($timetk && $timetj) { $where .= " and " . $xztime . " > '$timetk' and " . $xztime . " < '$timetj'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($number) { $where .= " and number = '$number'"; } if ($express) { $where .= " and express = '$express'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($library) { $where .= " and library = '$library'"; } if ($print) { $where .= " and print = '$print'"; } if ($libraryconfirm) { $where .= " and libraryconfirm = '$libraryconfirm'"; } if ($state) { $where .= " and state = '$state'"; } if ($shop) { $where .= " and shop = '$shop'"; } if ($country) { $where .= " and country = '$country'"; } if ($sfxh != '') { $where .= " and sfxh = '$sfxh'"; } if ($so) { $where .= " and shipremarks like '%$so%'"; } if ($source) { if ($source == '2d') { $where .= " and source >= '2'"; } else { $where .= " and source = '$source'"; } } if (isset($_SESSION['api'])) { foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; } $where .= " and (" . rtrim($fgshop, 'or') . ")"; } if ($orderurl) { $url = $this->orderurl->read($orderurl); $where .= " and link like '%" . $url['url'] . "%'"; } //数据排序 $order_str = "librarytime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$sj->find_all($where, 'id,shop,type,orderinfo,number,waybill,express,librarytime', $order_str, $start, $perpage); //格式化数据 foreach ($info_list as $key => $value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if ($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = '' . date('Y-m-d H:i:s', $value['librarytime']) . ''; } } $total = $this->$sj->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['express'] = $this->express->find_all(); $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $user = $this->user->get_api($_SESSION['api']); $powerid = $this->power->read($user['power']); $powertext = explode('|', trim($powerid['excelid'], '|')); $pid = ''; foreach ($powertext as $v) { $pid .= " id = " . $v . " or"; } $fullorderexcel = $this->fullorderexcel->find_all("type = '100007' and (" . rtrim($pid, 'or') . ")", '*', 'idorder desc'); //导出模板 $this->data['fullorderexcel'] = $fullorderexcel; $orderurl = $this->orderurl->find_all(rtrim($fgshop, 'or')); $this->data['orderurl'] = $orderurl; $this->_Template('whlabel_toutorder', $this->data); } //tt出库 public function _aoutorder() { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } } else { echo "请重新登录"; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $xztime = $this->input->post('xztime', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $shop = $this->input->post('shop', true); $source = $this->input->post('source', true); $orderinfo = $this->input->post('orderinfo', true); $number = $this->input->post('number', true); $sfxh = $this->input->post('sfxh', true); $express = $this->input->post('express', true); $waybill = $this->input->post('waybill', true); $library = $this->input->post('library', true); $country = $this->input->post('country', true); $so = $this->input->post('so', true); $libraryconfirm = $this->input->post('libraryconfirm', true); $print = $this->input->post('print', true); $state = $this->input->post('state', true); $orderurl = $this->input->post('orderurl', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); /** $sj = $this->input->post('sj',true); if($sj) { $sj = $this->input->post('sj',true); } else { $sj = "fullorder"; } **/ $sj = "fullorderamz"; $where = "1=1"; if ($warehouse) { $where .= " and type = '$warehouse'"; } if ($timetk && $timetj) { $where .= " and " . $xztime . " > '$timetk' and " . $xztime . " < '$timetj'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($number) { $where .= " and number = '$number'"; } if ($express) { $where .= " and express = '$express'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($library) { $where .= " and library = '$library'"; } if ($print) { $where .= " and print = '$print'"; } if ($libraryconfirm) { $where .= " and libraryconfirm = '$libraryconfirm'"; } if ($state) { $where .= " and state = '$state'"; } if ($shop) { $where .= " and shop = '$shop'"; } if ($country) { $where .= " and country = '$country'"; } if ($sfxh != '') { $where .= " and sfxh = '$sfxh'"; } if ($so) { $where .= " and shipremarks like '%$so%'"; } if ($source) { if ($source == '2d') { $where .= " and source >= '2'"; } else { $where .= " and source = '$source'"; } } if (isset($_SESSION['api'])) { foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; } $where .= " and (" . rtrim($fgshop, 'or') . ")"; } if ($orderurl) { $url = $this->orderurl->read($orderurl); $where .= " and link like '%" . $url['url'] . "%'"; } //数据排序 $order_str = "librarytime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$sj->find_all($where, 'id,shop,type,orderinfo,number,waybill,express,librarytime', $order_str, $start, $perpage); //格式化数据 foreach ($info_list as $key => $value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if ($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = '' . date('Y-m-d H:i:s', $value['librarytime']) . ''; } } $total = $this->$sj->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['express'] = $this->express->find_all(); $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $user = $this->user->get_api($_SESSION['api']); $powerid = $this->power->read($user['power']); $powertext = explode('|', trim($powerid['excelid'], '|')); $pid = ''; foreach ($powertext as $v) { $pid .= " id = " . $v . " or"; } $fullorderexcel = $this->fullorderexcel->find_all("type = '100010' and (" . rtrim($pid, 'or') . ")", '*', 'idorder desc'); //导出模板 $this->data['fullorderexcel'] = $fullorderexcel; $orderurl = $this->orderurl->find_all(rtrim($fgshop, 'or')); $this->data['orderurl'] = $orderurl; $this->_Template('whlabel_aoutorder', $this->data); } //速卖通出库订单 public function _soutorder() { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $user = explode('|', trim($user['shop'], '|')); foreach ($user as $value) { $sid .= " id = " . $value . " or"; } } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $xztime = $this->input->post('xztime', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $shop = $this->input->post('shop', true); $source = $this->input->post('source', true); $orderinfo = $this->input->post('orderinfo', true); $number = $this->input->post('number', true); $express = $this->input->post('express', true); $waybill = $this->input->post('waybill', true); $library = $this->input->post('library', true); $country = $this->input->post('country', true); $sfxh = $this->input->post('sfxh', true); $libraryconfirm = $this->input->post('libraryconfirm', true); $print = $this->input->post('print', true); $state = $this->input->post('state', true); $so = $this->input->post('so', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); /** $sj = $this->input->post('sj',true); if($sj) { $sj = $this->input->post('sj',true); } else { $sj = "fullorder"; } **/ $sj = "fullordersmt"; $where = "1=1"; if ($warehouse) { $where .= " and type = '$warehouse'"; } if ($timetk && $timetj) { $where .= " and " . $xztime . " > '$timetk' and " . $xztime . " < '$timetj'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($number) { $where .= " and number = '$number'"; } if ($express) { $where .= " and express = '$express'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($library) { $where .= " and library = '$library'"; } if ($print) { $where .= " and print = '$print'"; } if ($libraryconfirm) { $where .= " and libraryconfirm = '$libraryconfirm'"; } if ($state) { $where .= " and state = '$state'"; } if ($shop) { $where .= " and shop = '$shop'"; } if ($sfxh != '') { $where .= " and sfxh = '$sfxh'"; } if ($so) { $where .= " and shipremarks like '%$so%'"; } if ($source) { $where .= " and source = '$source'"; } if ($country) { $where .= " and country = '$country'"; } else { if (isset($_SESSION['api'])) { foreach ($user as $value) { $fgshop .= " shop = " . $value . " or"; } $where .= " and (" . rtrim($fgshop, 'or') . ")"; } } //数据排序 $order_str = "librarytime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$sj->find_all($where, 'id,shop,type,orderinfo,number,waybill,express,librarytime', $order_str, $start, $perpage); //格式化数据 foreach ($info_list as $key => $value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if ($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = '' . date('Y-m-d H:i:s', $value['librarytime']) . ''; } } $total = $this->$sj->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['express'] = $this->express->find_all(); $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $this->data['wlshop'] = $wlshop; $user = $this->user->get_api($_SESSION['api']); $powerid = $this->power->read($user['power']); $powertext = explode('|', trim($powerid['excelid'], '|')); $pid = ''; foreach ($powertext as $v) { $pid .= " id = " . $v . " or"; } $fullorderexcel = $this->fullorderexcel->find_all("type = '100005' and (" . rtrim($pid, 'or') . ")", '*', 'idorder desc'); //导出模板 $this->data['fullorderexcel'] = $fullorderexcel; $this->_Template('whlabel_soutorder', $this->data); } //订单退库 public function _retreat() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $warehouse = $this->input->post('warehouse', true); $timetk = $this->input->post('timetk', true); $timetj = $this->input->post('timetj', true); $shop = $this->input->post('shop', true); $source = $this->input->post('source', true); $state = $this->input->post('state', true); $review = $this->input->post('review', true); $state = $this->input->post('state', true); $express = $this->input->post('express', true); $orderinfo = $this->input->post('orderinfo', true); $user = $this->input->post('user', true); $name = $this->input->post('name', true); $waybill = $this->input->post('waybill', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "(state=206 or state=210) and mergeid = 0"; if ($warehouse) { $where .= " and state = '$warehouse'"; } if ($timetk && $timetj) { $where .= " and buytime > '$timetk' and buytime < '$timetj'"; } if ($shop) { $where .= " and shop = '$shop'"; } if ($source) { $where .= " and source = '$source'"; } if ($state) { $where .= " and state = '$state'"; } if ($review) { $where .= " and review = '$review'"; } if ($state) { $where .= " and state = '$state'"; } if ($express) { $where .= " and express = '$express'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($user) { $where .= " and user = '$user'"; } if ($name) { $where .= " and name = '$name'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->fullorder->find_all($where, 'id,shop,warehouse,orderinfo,number,express,waybill,state,buytime', $order_str, $start, $perpage); //格式化数据 foreach ($info_list as $key => $value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $info_list[$key]['orderinfo'] = "" . $value['orderinfo'] . ""; $info_list[$key]['buytime'] = '

' . date('Y-m-d', $value['buytime']) . '

' . date('H:i:s', $value['buytime']) . '

'; if ($value['waybill'] == 0) { $info_list[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['title']; $typeclass = $this->typeclass->read($value['state']); $info_list[$key]['state'] = $typeclass['title']; } $total = $this->fullorder->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['express'] = $this->express->find_all(); $this->_Template('whlabel_retreat', $this->data); } //退库标签浏览 public function _retreatlk() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $timetk = $this->input->post('timetk', true); $timetj = $this->input->post('timetj', true); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "state=2"; if ($timetk && $timetj) { $where .= " and retreat > '$timetk' and retreat < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } //数据排序 $order_str = "time desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,warehouse,retreatwarehouse,sku,title,label,purchase,orderinfo,waybill,retreat,outk', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $retreatwarehouse = $this->warehouse->read($value['retreatwarehouse']); $info_list[$key]['retreatwarehouse'] = $retreatwarehouse['title']; $purchase = $this->purchase->read($value['purchase']); $info_list[$key]['purchase'] = $purchase['title']; if ($value['outk'] != 0) { $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); } else { $info_list[$key]['outk'] = ""; } if ($value['retreat'] != 0) { $info_list[$key]['retreat'] = date('Y-m-d H:i:s', $value['retreat']); } else { $info_list[$key]['retreat'] = ""; } if ($value['orderinfo'] == 0) { $info_list[$key]['orderinfo'] = ""; } if ($value['waybill'] == 0) { $info_list[$key]['waybill'] = ""; } } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->_Template('whlabel_retreatlk', $this->data); } //更换标签及浏览 public function _change() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $timetk = $this->input->post('timetk', true); $timetj = $this->input->post('timetj', true); $label = $this->input->post('label', true); $oldlabel = $this->input->post('oldlabel', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "state=10 "; if ($timetk && $timetj) { $where .= " and labeltime > '$timetk' and labeltime < '$timetj'"; } if ($label) { $where .= " and label = '$label'"; } if ($oldlabel) { $where .= " and oldlabel = '$oldlabel'"; } //数据排序 $order_str = "time asc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,oldlabel,oldtitle,label,title, labeltime', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $info_list[$key]['labeltime'] = date('Y-m-d H:i:s', $value['labeltime']); } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->_Template('whlabel_change', $this->data); } //产品标签 public function _cpbqdc() { if (isset($_GET['excel'])) { $where = "1=1"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $warehouse = $this->input->get('warehouse', true); $state = $this->input->get('state', true); $timetk = $this->input->get('timetkk', true); $timetj = $this->input->get('timetjj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($state || $state == 0) { $where .= " and state = '$state'"; } if ($timetk && $timetj) { $where .= " and time > '$timetk' and time < '$timetj'"; } //取得信息列表 $info_list = $this->whlabel->find_all($where, '*'); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $rows[$value['time']] = $value; //所有数据sku } foreach ($rows as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $s = $this->whlabel->find_count($where . ' and time = "' . $value['time'] . '"'); $list[] = array($warehouse['title'], $value['sku'], $value['title'], date('Y-m-d H:i:s', $value['enter']), date('Y-m-d H:i:s', $value['time']), $value['text'], $s); } $title = "产品标签统计表"; $titlename = "

" . $title . "

仓库 SKU 产品 入库时间 操作时间 备注 数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($list, $titlename, $filename, $tail); } } //进销存导出 public function _exceljxc() { $classid = $this->classid->sku(); $pm = $classid; $typeclass = array(); $tc = $this->typeclass->find_all(); foreach ($tc as $v) { $typeclass[$v['id']] = $v; } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } if (isset($_GET['excel'])) { $where = "sku != 'Preset'"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $category = $this->input->get('category', true); $warehouse = $this->input->get('warehouse', true); $excelid = $this->input->get('sid', true); if ($category) { $where .= " and features like '%-$category-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } $xzid = ''; if ($excelid) { $excelid = explode(',', trim($excelid, ',')); foreach ($excelid as $key => $value) { $xzid .= " id = " . $value . " or"; } $xzid = " and (" . rtrim($xzid, 'or') . ")";; } //取得信息列表 /** $info_list = $this->whlabel->find_all($where.$xzid,'*'); $rows = array();$list = array(); foreach ($info_list as $key=>$value) { $rows[strtolower($value['sku']).$value['features'].$value['warehouse']] = $value;//所有数据sku } **/ $wt = array(); $whlabel_type = $this->whlabel_type->find_all(); foreach ($whlabel_type as $v) { $wt[$v['id']] = $v['title']; } $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $list = array(); $rows = $this->whlabel->find_pc($where, 'sku,purchase,features,warehouse', 'warehouse,purchase,details,cpid,dbcontent,sku,cs,bs,title,features,cpbz,sm,type,number'); foreach ($rows as $key => $value) { if (isset($wt[$value['type']])) { $rows[$key]['type'] = $wt[$value['type']]; } else { $rows[$key]['type'] = '未设置'; } $bm = '03'; $bmpx = array(13 => '', 16 => '', 18 => '', 25 => '', 26 => '', 41 => ''); $rows[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $sd = $this->whlabel->find_all($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid,cpbz,state'); $details = array(); $cpid = array(); $cpbz = array(); $c = 0; $g = 0; $x = 0; $t = 0; $s = 0; $q = 0; foreach ($sd as $k => $v) { if ($v['state'] == 0) { $c++; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } if ($v['cpbz'] != '') { $cpbz[$v['cpbz']] = $v['cpbz']; } } if ($v['state'] != 9) { $g++; } if ($v['state'] == 1) { $x++; } if ($v['state'] == 2) { $t++; } if ($v['state'] == 8) { $s++; } if ($v['state'] == "3" || $v['state'] == "4" || $v['state'] == "5" || $v['state'] == "6" || $v['state'] == "7") { $q++; } $details[$v['details']] = $v['details']; } $z = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and zd != "" and state = 0 and purchase = "' . $value['purchase'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $rows[$key]['details'] = implode("、", $details); $rows[$key]['cpid'] = ($cpid) ? implode(" ", $cpid) : ''; $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $rows[$key]['warehouse'] = $wh[$value['warehouse']]; $rows[$key]['number'] = $g; $rows[$key]['c'] = $c; $rows[$key]['x'] = $x; $rows[$key]['t'] = $t; $rows[$key]['s'] = $s; $rows[$key]['q'] = $q; $rows[$key]['z'] = $z; $features = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $value['features']); $features = explode('-', trim($features, '-')); $rows[$key]['dbcontent'] = $typeclass[$features[0]]['title']; // $pm = $classid; // $jm = $classid; // foreach($features as $k=>$v) // { // if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) // { // if($typeclass[$v]['bm'] != '') // { // $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; // } // } // if($v != 0) // { // if(!isset($typeclass[$v])) // { // continue; // } // if(isset($pm[$typeclass[$v]['classid']])) // { // if(stripos($typeclass[$v]['zh'],'|') !== false) // { // $tz = explode('|',$typeclass[$v]['zh']); // $pm[$typeclass[$v]['classid']] = $tz[0]; // } // else // { // $pm[$typeclass[$v]['classid']] = $typeclass[$v]['zh']; // } // } // if(isset($jm[$typeclass[$v]['classid']])) // { // $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; // } // } // } // $jm = array_filter($jm); // $rows[$key]['bs'] = implode("-",$jm); // $rows[$key]['cs'] = $bm.implode("",$bmpx); // $zh = implode(" ",$pm); // $zh = str_replace('自然色 ','',trim($zh,' ')); // $zh = str_replace(array(' ',' ',' ',' ',' ',' ',' '),' ',$zh); // $zh = preg_replace("/\r\n|\r|\n/",'',$zh); // $rows[$key]['features'] = $zh; } $list = $this->logic_whlabel->dataTran($rows, ['pm', 'weight']); $final_list = []; foreach ($list as $k => $v) { if (empty($v['sku'])) { continue; } $final_list[] = [ "warehouse" => $v["warehouse"], "purchase" => $v["purchase"], "details" => $v["details"], "cpid" => $v["cpid"], "dbcontent" => $v["dbcontent"], "sku" => $v["sku"], "cs" => $v["bm"], "bs" => $v["jm"], "title" => $v["title"], "features" => $v["pm"], "cpbz" => $v["cpbz"], "sm" => $v["sm"], "type" => $v["type"], "number" => $v["number"], "c" => $v["c"], "x" => $v["x"], "t" => $v["t"], "s" => $v["s"], "q" => $v["q"], "z" => $v["z"], "weight" => $v['weight'], ]; } $title = "总进销存统计表"; $titlename = "

" . $title . "

仓库 供应商 位置 库存编码 类目 SKU 用友编码 用友料号 商品名称 商品中文 产品备注 说明 类型 入库总量 库存数量 销售数量 退货数量 删除数量 其它操作 占单数量 重量(g)
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($final_list, $titlename, $filename, $tail); } } //入库导出 public function _excelr() { if (isset($_GET['excel'])) { $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $purchase = $this->input->get('purchase', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($ktime && $jtime) { $where .= " and enter > '$ktime' and enter < '$jtime' and state != 9"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $list = array(); $rows = $this->whlabel->find_pc($where, 'enter,sku,warehouse', '*', $order_str); foreach ($rows as $value) { $ck = $this->warehouse->read($value['warehouse']); $warehouse = $ck['title']; $tkck = $this->warehouse->read($value['retreatwarehouse']); //退库仓库 $retreatwarehouse = $tkck['title']; $gy = $this->purchase->read($value['purchase']); $purchase = $gy['title']; $g = $this->whlabel->find_count($where . ' and enter = "' . $value['enter'] . '" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '"'); $list[] = array('warehouse' => $warehouse, 'sku' => $value['sku'], 'title' => $value['title'], 'time' => date('Y-m-d H:i:s', $value['enter']), 'number' => $g); } $title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . "入库详情"; $titlename = "

" . $title . "

仓库 SKU 产品 时间 数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($list, $titlename, $filename, $tail); } } //出库、退库导出 public function _excelct() { $classid = $this->classid->sku(); $pm = $classid; $typeclass = array(); $tc = $this->typeclass->find_all(); foreach ($tc as $v) { $typeclass[$v['id']] = $v; } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } if (isset($_GET['excel'])) { $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $type = $this->input->get('excel', true); $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $lacetype = $this->input->get('lacetype', true); $lacecolor = $this->input->get('lacecolor', true); $density = $this->input->get('density', true); $haircap = $this->input->get('haircap', true); $purchase = $this->input->get('purchase', true); $title = $this->input->get('title', true); $state = $this->input->get('state', true); $sid = $this->input->get('sid', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { if ($type == 1) { $tl = '出库'; $where .= " and state= '1' and outk > '$ktime' and outk < '$jtime'"; } else if ($type == 2) { $tl = '退库'; $where .= " and state= '2' and retreat > '$ktime' and retreat < '$jtime'"; } else if ($type == 3) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } else if ($type == 4) { $tl = '出库+零售'; $where .= " and (state= '1' or state= '10') and outk > '$ktime' and outk < '$jtime'"; } else if ($type == 5) { $tl = '零售'; $where .= " and state= '10' and outk > '$ktime' and outk < '$jtime'"; } } $sidwhere = ''; if ($sid) { $sd = ""; $s = explode(',', trim($sid, ',')); foreach ($s as $value) { $sd .= " id = " . $value . " or"; } $sidwhere = " and (" . rtrim($sd, 'or') . ")"; } //数据排序 $order_str = "time desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 if ($type != 3 && $type != 5) { if ($type == 1 || $type == 4) { $info_list = $this->whlabel->find_all($where, 'warehouse,purchase,sku,title,features,label,orderinfo,waybill,outk', $order_str); foreach ($info_list as $key => $value) { $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); //减12调整美国时间 $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $features = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $value['features']); $features = explode('-', trim($features, '-')); $pm = $classid; foreach ($features as $k => $v) { if ($v != 0) { if (!isset($typeclass[$v])) { continue; } if (isset($pm[$typeclass[$v]['classid']])) { if (stripos($typeclass[$v]['zh'], '|') !== false) { $tz = explode('|', $typeclass[$v]['zh']); $pm[$typeclass[$v]['classid']] = $tz[0]; } else { $pm[$typeclass[$v]['classid']] = $typeclass[$v]['zh']; } } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', trim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $zh = preg_replace("/\r\n|\r|\n/", '', $zh); $info_list[$key]['features'] = $zh; } $final_list = []; foreach($info_list as $k=>$v){ $number = ""; if(!empty($v['orderinfo'])){ $tmp_info = $this->logic_order->getInfo('orderinfo = "'.$v['orderinfo'].'"','orderinfo,number,librarytime'); if(!empty($tmp_info['number'])){ $number = $tmp_info['number']; } } $final_list[] = [ 'warehouse'=>$v['warehouse'], 'purchase'=>$v['purchase'], 'sku'=>$v['sku'], 'title'=>$v['title'], 'features'=>$v['features'], 'label'=>$v['label'], 'orderinfo'=>$v['orderinfo'], 'number'=>$number, 'waybill'=>$v['waybill'], 'outk'=>$v['outk'], ]; } } else { $info_list = $this->whlabel->find_all($where, 'warehouse,purchase,sku,title,features,label,orderinfo,waybill,retreat', $order_str); foreach ($info_list as $key => $value) { $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $info_list[$key]['retreat'] = date('Y-m-d H:i:s', $value['retreat']); //减12调整美国时间 $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $features = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $value['features']); $features = explode('-', trim($features, '-')); $pm = $classid; foreach ($features as $k => $v) { if ($v != 0) { if (!isset($typeclass[$v])) { continue; } if (isset($pm[$typeclass[$v]['classid']])) { if (stripos($typeclass[$v]['zh'], '|') !== false) { $tz = explode('|', $typeclass[$v]['zh']); $pm[$typeclass[$v]['classid']] = $tz[0]; } else { $pm[$typeclass[$v]['classid']] = $typeclass[$v]['zh']; } } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', trim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $zh = preg_replace("/\r\n|\r|\n/", '', $zh); $info_list[$key]['features'] = $zh; } $final_list = []; foreach($info_list as $k=>$v){ $number = ""; if(!empty($v['orderinfo'])){ $tmp_info = $this->logic_order->getInfo('orderinfo = "'.$v['orderinfo'].'"','orderinfo,number,librarytime'); if(!empty($tmp_info['number'])){ $number = $tmp_info['number']; } } $final_list[] = [ 'warehouse'=>$v['warehouse'], 'purchase'=>$v['purchase'], 'sku'=>$v['sku'], 'title'=>$v['title'], 'features'=>$v['features'], 'label'=>$v['label'], 'orderinfo'=>$v['orderinfo'], 'number'=>$number, 'waybill'=>$v['waybill'], 'retreat'=>$v['retreat'], ]; } } $title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . $tl . '详情'; $titlename = "

" . $title . "

仓库 供应商 SKU 商品名称 商品中文 标签 订单号 订单编码 运单号 " . $tl . "时间(中国时间)
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($final_list, $titlename, $filename, $tail); } else if ($type == 5) { $info_list = $this->whlabel->find_all($where, 'warehouse,purchase,sku,title,features,label,outk', $order_str); foreach ($info_list as $key => $value) { $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); //减12调整美国时间 $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $features = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $value['features']); $features = explode('-', trim($features, '-')); $pm = $classid; foreach ($features as $k => $v) { if ($v != 0) { if (!isset($typeclass[$v])) { continue; } if (isset($pm[$typeclass[$v]['classid']])) { if (stripos($typeclass[$v]['zh'], '|') !== false) { $tz = explode('|', $typeclass[$v]['zh']); $pm[$typeclass[$v]['classid']] = $tz[0]; } else { $pm[$typeclass[$v]['classid']] = $typeclass[$v]['zh']; } } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', trim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $zh = preg_replace("/\r\n|\r|\n/", '', $zh); $info_list[$key]['features'] = $zh; } $title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . $tl . '详情'; $titlename = "

" . $title . "

仓库 供应商 SKU 商品名称 商品中文 标签 " . $tl . "时间(中国时间)
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($info_list, $titlename, $filename, $tail); } else { /** $info_list = $this->whlabel->find_all($where.$sidwhere,'*'); $rows = array();$list = array(); foreach ($info_list as $key=>$value) { $rows[strtolower($value['sku']).'warehouse'.$value['warehouse']] = $value;//所有数据sku } **/ $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $wt = array(); $whlabel_type = $this->whlabel_type->find_all(); foreach ($whlabel_type as $v) { $wt[$v['id']] = $v['title']; } $classid = $this->classid->sku(); $list = array(); $rows = $this->whlabel->find_pc($where . $sidwhere, 'sku,purchase,features,warehouse', 'warehouse,purchase,details,cpid,sku,title,features,cpbz,sm,type'); foreach ($rows as $key => $value) { $rows[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $rows[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $sd = $this->whlabel->find_all($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid,cpbz,state,outk,retreat'); $details = array(); $cpid = array(); $cpbz = array(); $c = 0; $g = 0; $x = 0; $t = 0; $s = 0; $q = 0; foreach ($sd as $k => $v) { if ($v['state'] == 0) { $c++; } if ($v['state'] != 9) { $g++; } if ($v['outk'] > 1) { $x++; } if ($v['retreat'] > 0) { $t++; } if ($v['state'] == 8) { $s++; } if ($v['state'] == "3" || $v['state'] == "4" || $v['state'] == "5" || $v['state'] == "6" || $v['state'] == "7") { $q++; } $details[$v['details']] = $v['details']; if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } if ($v['cpbz'] != '') { $cpbz[$v['cpbz']] = $v['cpbz']; } } if (isset($wt[$value['type']])) { $rows[$key]['type'] = $wt[$value['type']]; } else { $rows[$key]['type'] = '未设置'; } $rows[$key]['details'] = implode("、", $details); $rows[$key]['cpid'] = ($cpid) ? implode(" ", $cpid) : ''; $ftime = time() - 15 * 24 * 3600; $rows[$key]['warehouse'] = $wh[$value['warehouse']]; $rows[$key]['cpbz'] = ($cpbz) ? implode(" ", $cpbz) : ''; $rows[$key]['g'] = $this->whlabel->find_count($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '" and state != 9' . $gj); $rows[$key]['c'] = $c; $rows[$key]['x'] = $this->whlabel->find_count($where . ' and purchase = "' . $value['purchase'] . '" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '" and state = 1' . $ck); $rows[$key]['t'] = $t; $z = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and zd != "" and state = 0 and purchase = "' . $value['purchase'] . '" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); $rows[$key]['z'] = $z; // $jm = $classid; $features = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $value['features']); $features = explode('-', trim($features, '-')); // $pm = $classid; // foreach ($features as $k => $v) { // if ($v != 0) { // if (!isset($typeclass[$v])) { // continue; // } // if (isset($pm[$typeclass[$v]['classid']])) { // if (stripos($typeclass[$v]['zh'], '|') !== false) { // $tz = explode('|', $typeclass[$v]['zh']); // $pm[$typeclass[$v]['classid']] = $tz[0]; // } else { // $pm[$typeclass[$v]['classid']] = $typeclass[$v]['zh']; // } // if (isset($jm[$typeclass[$v]['classid']])) { // if ($typeclass[$v]['jm']) { // $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; // } // } // } // } // } // $zh = implode(" ", $pm); // $zh = str_replace('自然色 ', '', trim($zh, ' ')); // $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); // $zh = preg_replace("/\r\n|\r|\n/", '', $zh); // $rows[$key]['features'] = $zh; // $jm = array_filter($jm); //去除空值 // $jm = implode("-", $jm); // $rows[$key]['jm'] = $jm; $rows[$key]['asd'] = $typeclass[$features[0]]['title']; } $tmp_list = $this->logic_whlabel->dataTran($rows,['pm','weight']); // echo "
";
				// print_r($tmp_list);
				// die;
				$final_list =[];
				foreach($tmp_list as $k=>$v){
					$final_list[] = [
						"warehouse"=>$v['warehouse'],
						"purchase"=>$v['purchase'],
						"details"=>$v['details'],
						"cpid"=>$v['cpid'],
						"sku"=>$v['sku'],
						"title"=>$v['title'],
						"features"=>$v['pm'],
						"cpbz"=>$v['cpbz'],
						"sm"=>$v['sm'],
						"type"=>$v['type'],
						"g"=>$v["g"],
						"c"=>$v["c"],
						"x"=>$v["x"],
						"t"=>$v["t"],
						"z"=>$v["z"],
						"jm"=>$v["jm"],
						"weight"=>$v["weight"],
						"asd"=>$v["asd"],
					];
				}
				$title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . '进销存详情';
				$titlename = "

" . $title . "

仓库 供应商 位置 库存编码 SKU 商品名称 商品中文 产品备注 说明 类型 入库总量 库存数量 销售数量 退货数量 占单数量 料号 重量 类目
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($final_list, $titlename, $filename, $tail); } } } //出库+入库数据整合 public function _excelcr() { if (isset($_GET['excel'])) { $type = $this->input->get('excel', true); $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $purchase = $this->input->get('purchase', true); $state = $this->input->get('state', true); $sid = $this->input->get('sid', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($sku) { $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { $where .= " and ((enter > '$ktime' and enter < '$jtime') or (outk > '$ktime' and outk < '$jtime'))"; } $sidwhere = ''; if ($sid) { $sd = ""; $s = explode(',', trim($sid, ',')); foreach ($s as $value) { $sd .= " id = " . $value . " or"; } $sidwhere .= " and (" . rtrim($sd, 'or') . ")"; } //取得信息列表 $timeread = $ktime; $timenum = ceil(($jtime - $ktime) / (24 * 3600)); $timelist = array(); for ($i = 0; $i < $timenum; $i++) { $timeread = ($i > 0) ? $ktime + $i * 24 * 3600 : $ktime; $timelist[date('Y-m-d', $timeread)] = array('c' => 0, 'r' => 0); } $info_list = $this->whlabel->find_all($where . $sidwhere, 'outk,enter,sku,state'); //echo "
";
			//print_r($info_list);
			//exit();
			$rows = array();
			$list = array();
			foreach ($info_list as $key => $value) {
				$thistime = $timelist;
				if (isset($rows[strtolower($value['sku'])])) {
					if ($value['outk'] > $ktime && $value['state'] < $jtime) {
						$rows[strtolower($value['sku'])][date('Y-m-d', $value['outk'])]['c'] += 1;
					}
					if ($value['enter'] > $ktime && $value['enter'] < $jtime) {
						$rows[strtolower($value['sku'])][date('Y-m-d', $value['enter'])]['r'] += 1;
					}
				} else {
					if ($value['outk'] > $ktime && $value['outk'] < $jtime) {
						$thistime[date('Y-m-d', $value['outk'])]['c'] += 1;
					}
					if ($value['enter'] > $ktime && $value['enter'] < $jtime) {
						$thistime[date('Y-m-d', $value['enter'])]['r'] += 1;
					}
					$rows[strtolower($value['sku'])] = $thistime;
				}
			}
			$str = "
       	 	
        	
        	";

			$str .= "";
			foreach ($timelist as $k => $v) {
				$str .= "";
				$str .= "";
			}
			$str .=  "
SKU" . $k . "出库" . $k . "入库
"; $str .= ""; foreach ($rows as $key => $val) { $str .= ""; foreach ($val as $k => $v) { $str .= ""; if ($val[$k]['r'] > 0) { $str .= ""; } else { $str .= ""; } } $str .= ""; } $str .= "
" . strtoupper($key) . "" . $val[$k]['c'] . "-" . $val[$k]['r'] . "" . $val[$k]['r'] . "
"; $str .= ""; header("Content-Type: application/vnd.ms-excel; name='excel'"); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . time() . '.xls'); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); header("Expires: 0"); exit($str); } } //数量调整模板导出 public function _presetout() { if (isset($_GET['excel'])) { $where = "sku != 'Preset' and purchase != 0"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_pc($where, 'warehouse,purchase,sku', '*', 'id desc', 0, 1); $rows = array(); $list = array(); foreach ($info_list as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $purchase = $this->purchase->read($value['purchase']); $list[] = array($warehouse['title'], $purchase['bm'], $value['sku'], '0', '', '0', '', ''); } $title = "库存模板"; $titlename = "
仓库 供应商编码 SKU 增减数量(正数或负数) 增减备注 扣减方式:0减少库存1删除库存 增加类型(增加为必填,填数字):1.采购入库2.盘盈调整3.其他调整入库4.退库入库5.退货可用入库6.形态转换入库 扣减类型(扣减为必填,填数字):1.销售出库2.销售美国出库3.盘亏调整4.其他调整出库5.形态转换出库
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($list, $titlename, $filename, $tail); } } //数量调整模板导入 public function _presetedit() { $dir = '/data/excel/' . date('Ymd', time()) . '/'; $config['upload_path'] = '.' . $dir; $config['file_name'] = date('Ymd_His_', time()) . rand(1000, 9999); $config['allowed_types'] = 'xls|xlsx|csv'; $config['max_size'] = 10240; $this->load->library('upload', $config); $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $full_path = $dir . $this->upload->data('file_name'); $fileName = '.' . $full_path; if (!file_exists($fileName)) { echo json_encode(array('msg' => "上传失败,请重试", 'success' => false)); exit; } else { require_once "./data/excel/PHPExcel/IOFactory.php"; $phpExcel = PHPExcel_IOFactory::load($fileName); // 载入当前文件 $phpExcel->setActiveSheetIndex(0); // 设置为默认表 $sheetCount = $phpExcel->getSheetCount(); // 获取表格数量 $row = $phpExcel->getActiveSheet()->getHighestRow(); // 获取行数 $column = $phpExcel->getActiveSheet()->getHighestColumn(); // 获取列数 ++$column; //如果列数大于26行 $list = array(); for ($i = 2; $i <= $row; $i++) // 行数循环 { $data = array(); for ($c = 'A'; $c != $column; $c++) // 列数循环 { $data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue(); } $list[] = $data; } } $i = 0; $j = 0; $ed = array(); foreach ($list as $key => $value) { $time = time(); if ($value['0'] == "") { continue; } $warehouse = $this->warehouse->get_title($value['0']); $purchase = $this->purchase->get_bm($value['1']); $sku = $value['2']; $num = $value['3']; //调整数量 $text = $value['4']; //扣减说明 $type = $value['5']; //调整方式0扣减1删除 $rktype = $value['6'] != '' ? $value['6'] : 0; //增加库存 $cktype = $value['7'] != '' ? $value['7'] : 0; //减少库存 $d = $this->whlabel->get_warehousesku($warehouse['id'], $sku); if (!$purchase) //如果没有这个SKU { $ed[] = array($purchase . '-不存在此供应商编码'); $j++; continue; } if (!$d) //如果没有这个SKU { $ed[] = array($sku . '-库存中不存在此SKU'); $j++; continue; } if (!isset($warehouse['id'])) { $ed[] = array($sku . '-仓库名错误!'); $j++; continue; } if ($type != '0' && $type != '1') { $ed[] = array($sku . '-扣减方式填写错误!'); $j++; continue; } if ($num < 0) //扣减库存 { if ($warehouse['id'] == 5 && ($cktype == '' || ($cktype > 1 && $text == ''))) { $ed[] = array($sku . '-扣减必须填写扣减类型,非类型1必须填写备注'); $j++; continue; } $data = $this->whlabel->find_all('warehouse = "' . $warehouse['id'] . '" and sku = "' . $sku . '" and zd = "" and state = 0'); if (count($data) < abs($num)) { $ed[] = array($sku . '-扣减数量大于库存剩余数量!'); $j++; continue; } if ($type == 0) //如果扣减方式为 扣减库存 { for ($i = 0; $i < abs($num); $i++) { $this->whlabel->save(array('state' => 8, 'textout' => $text, 'deltime' => $time, 'cktype' => $cktype, 'time' => $time, 'outk' => $time), $data[$i]['id']); } } else if ($type == 1) { $zt = $this->whlabeltransport->find_all('sku = "' . $sku . '" and warehouse = "' . $warehouse['id'] . '" and features = "' . $d['features'] . '" and cz = "0"'); if (count($zt) > 0) { $ed[] = array($sku . '-有在途库存无法删除!'); $j++; continue; } for ($i = 0; $i < abs($num); $i++) { $this->whlabel->remove($data[$i]['id']); } } } else if ($num > 0) //增加库存 { if ($warehouse['id'] == 5 && ($rktype == '' || ($rktype > 1 && $text == ''))) { $ed[] = array($sku . '-增加必须填写增加类型,非类型1必须填写备注'); $j++; continue; } $post['sku'] = $d['sku']; $post['shop'] = $d['shop']; $post['warehouse'] = $warehouse['id']; $post['purchase'] = $purchase['id']; $post['retreatwarehouse'] = $d['retreatwarehouse']; $post['state'] = 0; $post['title'] = $d['title']; $post['number'] = $d['number']; $post['features'] = $d['features']; $post['enter'] = $time; $post['time'] = $time; //操作时间 $post['rktype'] = $rktype; for ($i = 0; $i < $num; $i++) { $post['label'] = time() . rand(100, 999) . $i; $this->whlabel->insert($post); } } sleep(1); //防止入库时间一样,需要延迟1秒 } if ($j > 0) { $tt = date('Ymd', time()); $title = '库存导入错误信息-' . $tt; $titlename = "
错误详情
"; $tail = "\n"; $filename = $title . ".xls"; $ecl = $this->excel->get_fz3($ed, $titlename, $filename, $tail); $dir = '/data/excel/' . $time . '/'; $file_name = 'error_' . $time . rand(1000, 9999); if (!is_dir('.' . $dir)) mkdir('.' . $dir, 0777); $myfile = fopen("." . $dir . $file_name . ".xls", "w") or die(); fwrite($myfile, $ecl); fclose($myfile); $error = $dir . $file_name . '.xls'; echo json_encode(array('msg' => '导入成功,' . $j . '条异常,', 'error' => $error, 'success' => true)); exit; } else { echo json_encode(array('msg' => '导入成功!', 'error' => 1, 'success' => true)); exit; } } } //笛卡儿积 function cp($ps, $sets, $list) { $result = array(); $j = 0; for ($i = 0, $count = count($sets); $i < $count - 1; $i++) { if ($i == 0) { $result = $sets[$i]; } $tmp = array(); foreach ($result as $res) { foreach ($sets[$i + 1] as $set) { $tmp[] = $res . ',' . $set; } } $result = $tmp; } $this->db->trans_begin(); foreach ($result as $v) { $post = array(); $title = ""; $num = ""; $data = explode(',', $v); for ($i = 0; $i < count($list); $i++) { $post[$list[$i]] = $data[$i]; $typeclass = $this->typeclass->read($data[$i]); $title = $title . $typeclass['title'] . " "; if ($data[$i] != 0) { $num .= $data[$i]; //所有数据ID拼接 } } foreach ($ps as $kp => $vp) { $post[$kp] = $vp; } $post['number'] = $num; $info_list = $this->whlabel->get_number($num); //查询whlabel是否存在此拼接的数据ID if ($info_list) { $j++; } else { $skunum = $this->whlabel->find_count(); $post['sku'] = 'LY' . substr(strval($skunum + 1 + 10000000), 1, 7); $post['title'] = rtrim($title, ' '); $this->whlabel->insert($post); } } if ($this->db->trans_status() === FALSE) { $this->db->trans_commit(); return NULL; } else { $this->db->trans_commit(); return $j; } } public function _kj($arg_array) { if (isset($_POST['sku'])) { $time = time(); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $num = $this->input->post('num', true); $text = $this->input->post('text', true); $purchase = $this->input->post('purchase', true); $cktype = $this->input->post('cktype', true); $order = $this->whlabel->find_all("purchase = '$purchase' and sku = '$sku' and warehouse = '$warehouse' and zd = '' and state = 0"); if ($cktype != 1 && $text == '') { echo json_encode(array('msg' => "非销售出库必须填写备注!", 'success' => false)); exit; } if ($num > count($order)) { echo json_encode(array('msg' => "扣减数量大于剩余库存数量!", 'success' => false)); exit; } else { for ($i = 0; $i < $num; $i++) { $this->whlabel->save(array('state' => 8, 'cktype' => $cktype, 'textout' => $text, 'deltime' => $time, 'time' => $time, 'outk' => $time), $order[$i]['id']); } } echo json_encode(array('msg' => "扣减成功!", 'success' => false)); exit; } $uid = $this->whlabel->read($arg_array[0]); $uid['num'] = $this->whlabel->find_count('purchase = "' . $uid['purchase'] . '" and sku = "' . $uid['sku'] . '" and warehouse = "' . $uid['warehouse'] . '" and zd = "" and state = 0'); $this->data['data'] = $uid; $this->_Template('whlabel_kj', $this->data); } public function _summary($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } if (isset($_GET['excel'])) { $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; if ($ktime && $jtime) { $where .= " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "time desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_pc($where, 'sku', 'warehouse,purchase,details,cpid,sku,title'); foreach ($info_list as $key => $value) { $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $x = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '"', 'details,cpid'); $details = array(); $cpid = array(); foreach ($x as $k => $v) { if ($v['details'] != '') { $details[$v['details']] = $v['details']; } if ($v['cpid'] != 0) { $cpid[$v['cpid']] = $v['cpid']; } } $info_list[$key]['details'] = ($details) ? implode(" ", $details) : ''; $info_list[$key]['cpid'] = ($cpid) ? implode(" ", $cpid) : ''; $s = $this->whlabel->find_count('state = 0 and sku = "' . $value['sku'] . '"'); $info_list[$key]['s'] = $s; $info_list[$key]['x'] = count($x); } $title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . '出库汇总详情'; $titlename = "
仓库 供应商 出库位置 出库编码 SKU 产品名 总剩余库存 " . date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime) . "销售数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($info_list, $titlename, $filename, $tail); } } //usps发货清单 public function _manifest() { if (isset($_POST['manifest'])) { $wltext = $this->input->post('wltext', true); $time = time() - 16 * 3600; $ptime = strtotime(date('Y-m-d', $time)); $waybill = array(); $fullorder = $this->fullorder->find_all("printtime > '$ptime' and librarytime > '$ptime' and library = 2 and waybill != '' and (type = 5 or type = 8)", 'number,waybill'); foreach ($fullorder as $v) { $waybill[$v['waybill']] = $v['waybill']; } $fullordersmt = $this->fullordersmt->find_all("printtime > '$ptime' and librarytime > '$ptime' and library = 2 and waybill != '' and (type = 5 or type = 8)", 'number,waybill'); foreach ($fullordersmt as $v) { $waybill[$v['waybill']] = $v['waybill']; } $wltext = explode(';', $wltext); foreach ($wltext as $v) { if (isset($waybill[$v])) { unset($waybill[$v]); } } $data = $this->usps->get_manifest($waybill); if (isset($data['Description'])) { echo json_encode(array('msg' => $data['Description'], 'success' => false)); exit; } else if (isset($data['SCANFormImage']) && isset($data['SCANFormNumber'])) { $bctime = date('Ymd', time()); $pdf = $this->_pdf($data['SCANFormImage'], $data['SCANFormNumber'], $bctime); echo json_encode(array('msg' => $pdf, 'success' => true)); exit; } else { echo json_encode(array('msg' => $data, 'success' => false)); exit; } } } public function _pdf($pdf, $title, $bctime) { $pdf_path = './data/pdf/' . $bctime . '/'; $file_base64 = $pdf; $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64); $file_base64 = base64_decode($file_base64); if (!is_dir($pdf_path)) mkdir($pdf_path, 0777); //上传目录不存在则创建 file_put_contents($pdf_path . $title . '.pdf', $file_base64); return 'http://' . $_SERVER['HTTP_HOST'] . '/data/pdf/' . $bctime . '/' . $title . '.pdf'; } /** * * * 进销存占单异常索引 * * * **/ public function _abnormal() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $where = "1=1"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, '*'); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $rows[strtolower($value['sku'])] = $value; //所有数据sku } foreach ($rows as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $c = $this->whlabel->find_count('sku = "' . $value['sku'] . '" and state = "0" and warehouse = "5"'); $number = $value['number']; $ftime = time() - 15 * 24 * 3600; if ($value['shop'] != '') { $shop = $value['shop']; $orderdlz = $this->fullorder->find_all("time > '$ftime' and shop = '$shop' and type = '5' and library = '1' and state = '207' and whlabel like '%|$number-%'", 'whlabel,shop,orderinfo,number'); $ordersmt = $this->fullordersmt->find_all("time > '$ftime' and shop = '$shop' and type = '5' and library = '1' and state = '207' and whlabel like '%|$number-%'", 'whlabel,shop,orderinfo,number'); $order = array_merge($orderdlz, $ordersmt); $od = 0; $a = ''; $orid = ''; foreach ($order as $v) { $or = explode('|', ltrim($v['whlabel'], '|')); for ($i = 0; $i < count($or); $i++) { $orod = explode('-', $or[$i]); if ($orod[0] == $number) { $od += $orod[1]; } } $orid .= $v['number'] . '-'; } } else { $orderdlz = $this->fullorder->find_all("time > '$ftime' and type = '5' and library = '1' and state = '207' and whlabel like '%|$number-%'", 'whlabel,shop,orderinfo,number'); $ordersmt = $this->fullordersmt->find_all("time > '$ftime' and type = '5' and library = '1' and state = '207' and whlabel like '%|$number-%'", 'whlabel,shop,orderinfo,number'); $order = array_merge($orderdlz, $ordersmt); $od = 0; $a = ''; $orid = ''; $qt = array(); foreach ($order as $v) { $or = explode('|', ltrim($v['whlabel'], '|')); for ($i = 0; $i < count($or); $i++) { $orod = explode('-', $or[$i]); if ($orod[0] == $number) { $czzs = $this->whlabel->find_count("number = '$number' and warehouse = '5' and shop = '" . $v['shop'] . "' and state = 0"); if ($czzs > 0) { if (isset($qt[$v['shop']])) { if ($qt[$v['shop']] < $orod[1]) { $od += $orod[1]; //专属小于单量不计算剩余直接归入通用 $orid .= $v['number'] . '+数量' . $orod[1] . '-'; } else { $qt[$v['shop']] -= $orod[1]; } } else { $qt[$v['shop']] = $czzs; } } else { $od += $orod[1]; $orid .= $v['number'] . '+数量' . $orod[1] . '-'; } } } } } $z = $od . '(' . $orid . ')'; //查看订单号 //$z = $od; if ($od > $c) { $list[] = array('id' => $value['id'], 'warehouse' => $warehouse['title'], 'sku' => $value['sku'], 'title' => $value['title'], 'c' => $c, 'z' => $z); } } $listdata = array_slice($list, $start, $perpage); $total = count($list); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($listdata)); echo json_encode($rows); exit; } $this->_Template('whlabel_abnormal', $this->data); } /** * * * 进销存占单异常索引 * * * **/ public function _error() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $warehouse = $this->input->post('warehouse', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "sku != 'Preset'"; $gj = ''; if ($sku) { $where .= " and sku like '%$sku%'"; } else { if ($ktime && $jtime) { $gj = " and time > '$ktime' and time < '$jtime'"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 //$info_list = $this->whlabel->find_all($where.$gj,'*'); $rows = array(); $list = array(); $info_list = $this->whlabel->find_pc($where, 'warehouse,features,sku', '*'); // foreach ($info_list as $value) // { // $warehouse = $this->warehouse->read($value['warehouse']); // $c = $this->whlabel->find_count('sku = "'.$value['sku'].'" and state = "0" and warehouse = "'.$value['warehouse'].'"'); // $number = $value['number'];$ftime = time()-15*24*3600; // if($c < 1) // { // $list[] = array('id'=>$value['id'],'warehouse'=>$warehouse['title'],'sku'=>$value['sku'],'title'=>$value['title'],'c'=>$c); // } // } $warehouse_list = $this->warehouse->find_all(); $warehouse_list = array_column($warehouse_list, null, 'id'); foreach ($info_list as $value) { $warehouse = isset($warehouse_list[$value['warehouse']]) ? $warehouse_list[$value['warehouse']] : [ 'title' => "", ]; $c = $this->whlabel->find_count('sku = "' . $value['sku'] . '" and state = "0" and warehouse = "' . $value['warehouse'] . '"'); $number = $value['number']; $ftime = time() - 15 * 24 * 3600; if ($c < 1) { $list[] = array('id' => $value['id'], 'warehouse' => $warehouse['title'], 'sku' => $value['sku'], 'title' => $value['title'], 'c' => $c); } } // $sql = "select id,warehouse,features,sku,number,title from crowd_whlabel where ".$where; // $query = $this->db->query($sql); // $info_list = $query->result_array(); // $sql_two = "select title,id from crowd_warehouse"; // $query_two = $this->db->query($sql_two); // $warehouse_list = $query_two->result_array(); // $warehouse_arr = array_column($warehouse_list,null,'id'); // foreach ($info_list as $value) // { // if(isset($warehouse_arr[$value['warehouse']])){ // $warehouse = $warehouse_arr[$value['warehouse']]; // }else{ // $warehouse = [ // 'id'=>0, // 'title'=>"异常", // ]; // } // $c = $this->whlabel->find_count('sku = "'.$value['sku'].'" and state = "0" and warehouse = "'.$value['warehouse'].'"'); // $number = $value['number'];$ftime = time()-15*24*3600; // if($c < 1) // { // $list[] = array('id'=>$value['id'],'warehouse'=>$warehouse['title'],'sku'=>$value['sku'],'title'=>$value['title'],'c'=>$c); // } // } $listdata = array_slice($list, $start, $perpage); $total = count($list); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($listdata)); echo json_encode($rows); exit; } if (isset($post['s'])) { $id_arr = $this->input->post('s'); $id_arr = explode(',', trim($id_arr, ',')); if (!$id_arr) { echo json_encode(array('msg' => '参数错误!', 'success' => false)); exit; } //循环删除记录 foreach ($id_arr as $v) { $dd = $this->whlabel->read($v); if (!isset($dd['id'])) { echo json_encode(array('msg' => $dd['sku'] . '已被删除,请刷新页面', 'success' => false)); exit; } $zt = $this->whlabeltransport->find_all('sku = "' . $dd['sku'] . '" and warehouse = "' . $dd['warehouse'] . '" and features = "' . $dd['features'] . '" and cz = "0"'); if (isset($zt[0])) { echo json_encode(array('msg' => '有在途库存无法删除!', 'success' => false)); exit; } $deldd = $this->whlabel->find_all("sku = '" . $dd['sku'] . "' and warehouse = '" . $dd['warehouse'] . "'"); foreach ($deldd as $vv) { $this->whlabel->remove($vv['id']); } } echo json_encode(array('del' => $id_arr, 'msg' => '删除记录成功!', 'success' => true)); exit; } $this->_Template('whlabel_error', $this->data); } public function _errorexcel() { $post = $this->input->post(NULL, TRUE); if (isset($_GET['page'])) { $page = $this->input->get('page', true); $perpage = $this->input->get('perpage', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "sku != 'Preset'"; $gj = ''; if ($sku) { $where .= " and sku like '%$sku%'"; } else { if ($ktime && $jtime) { $gj = " and time > '$ktime' and time < '$jtime'"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $rows = array(); $list = array(); $info_list = $this->whlabel->find_pc($where, 'warehouse,features,sku', '*'); foreach ($info_list as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $c = $this->whlabel->find_count('sku = "' . $value['sku'] . '" and state = "0" and warehouse = "' . $value['warehouse'] . '"'); $number = $value['number']; $ftime = time() - 15 * 24 * 3600; if ($c < 1) { $list[] = array('warehouse' => $warehouse['title'], 'sku' => $value['sku'], 'title' => $value['title'], 'c' => $c); } } $title = "0库存汇总"; $titlename = "
仓库 SKU 产品 当前库存
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($list, $titlename, $filename, $tail); } } /** * * * 占单 * * **/ public function _kcyz() { $post = $this->input->post(NULL, TRUE); if (isset($post['warehouse'])) { return array('t' => 1, 'm' => json_encode(array('t' => 1, 'msg' => '请更新浏览器缓存!', 'success' => false))); exit; //不再使用 $warehouse = $this->input->post('warehouse', true); $whlabel = $this->input->post('whlabel', true); $id = $this->input->post('id', true); $shop = $this->input->post('shop', true); $number = $this->input->post('number', true); if (!$whlabel || $whlabel == '|') { return array('t' => 1, 'm' => json_encode(array('t' => 1, 'msg' => '请先添加产品信息!', 'success' => false))); exit; } $pp = explode('|', trim($whlabel, '|')); $x = 0; $save = array(); foreach ($pp as $va) { $num = explode('-', $va); if ($number) { $whlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '$warehouse' and (zd = '$number' or zd = '') and (shop IS NULL or shop = '')"); //通用 $shopwhlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '$warehouse' and (zd = '$number' or zd = '') and shop like '%," . $shop . ",%'"); //专属 } else { $whlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '$warehouse' and zd = '' and (shop IS NULL or shop = '')"); //通用 $shopwhlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '$warehouse' and zd = '' and shop like '%," . $shop . ",%'"); //专属 } $x++; if (count($whlabel) + count($shopwhlabel) < $num[1]) { $save[] = $x - 1; continue; //提前先加X不然出错,所以要减1 } } if (isset($save[0])) { echo json_encode(array('t' => 2, 'msg' => "红色商品名库存匹配错误或库存不够扣减", 'error' => $save, 'success' => false)); exit; } else { echo json_encode(array('success' => true)); exit; } } } public function _db() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $number = $this->input->post('number', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $label = $this->input->post('label', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "dbtime > 0"; if ($timetk && $timetj) { $where .= " and dbtime > '$timetk' and dbtime < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; if ($warehouse == 12) { $w = 'specialstock'; } else { $w = 'whlabel'; } } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($state != '') { $where .= " and state = '$state'"; } //数据排序 $order_str = "dbtime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$w->find_all($where, 'id,state,purchase,sku,title,warehouse,dbtime,enter', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->$w->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $purchase = $this->purchase->read($value['purchase']); $info_list[$key]['purchase'] = $purchase['title']; if ($value['enter'] != 0) { $info_list[$key]['enter'] = '

' . date('Y-m-d H:i:s', $value['enter']) . '

'; } else { $info_list[$key]['enter'] = ""; } if ($value['dbtime'] != 0) { $info_list[$key]['dbtime'] = '

' . date('Y-m-d H:i:s', $value['dbtime']) . '

'; } else { $info_list[$key]['dbtime'] = ""; } if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } if (isset($post['outsku'])) { $time = time(); $cz = $this->input->post('cz', true); $label = $this->input->post('outsku', true); $sl = $this->input->post('sl', true); $num = $this->input->post('num', true); //$warehouse = $this->input->post('warehouse',true); if (!$sl) { $sl = 1; } if (!$warehouse) { echo json_encode(array('msg' => '请选择调拨到的仓库', 'success' => false)); exit; } $dblabel = $this->whlabellabel->get_label($label); if ($dblabel) { $data = $this->whlabel->find_all("features = '" . $dblabel['features'] . "' and warehouse = '" . $dblabel['warehouse'] . "' and shop = '" . $dblabel['shop'] . "' and state = '0' and zd = ''"); if (count($data) < 1) { echo json_encode(array('msg' => '没有此产品数据!', 'success' => false)); exit; } if (count($data) < $num) { echo json_encode(array('msg' => '库存数量少于调拨数量!', 'success' => false)); exit; } for ($i = 0; $i < $sl; $i++) { $this->whlabel->save(array('state' => 3, 'dbtime' => $dbtime, 'dbcontent' => $data[$i]['warehouse'] . '-' . $time . '|', 'time' => $time), $data[$i]['id']); } echo json_encode(array('success' => true)); exit; } else { echo json_encode(array('msg' => '未找到此条码产品!', 'success' => false)); exit; } } $this->data['url'] = str_replace('/', '', $this->uri->slash_segment(2)); $this->_Template('whlabel_db', $this->data); } public function _dbrk() { $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $number = $this->input->post('number', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $label = $this->input->post('label', true); $ctime = $this->input->post('ctime', true); $timetk = $this->input->post('timetkk', true); $timetj = $this->input->post('timetjj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "dbtime > 0"; if ($timetk && $timetj) { $where .= " and " . $ctime . " > '$timetk' and " . $ctime . " < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($state != '') { $where .= " and state = '$state'"; } //数据排序 $order_str = "dbtime desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->whlabel->find_all($where, 'id,state,purchase,sku,title,warehouse,dbtime,enter', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $purchase = $this->purchase->read($value['purchase']); $info_list[$key]['purchase'] = $purchase['title']; if ($value['enter'] != 0) { $info_list[$key]['enter'] = '

' . date('Y-m-d H:i:s', $value['enter']) . '

'; } else { $info_list[$key]['enter'] = ""; } if ($value['dbtime'] != 0) { $info_list[$key]['dbtime'] = '

' . date('Y-m-d H:i:s', $value['dbtime']) . '

'; } else { $info_list[$key]['dbtime'] = ""; } if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } } $total = $this->whlabel->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } if (isset($post['rsku'])) { $cz = $this->input->post('cz', true); $label = $this->input->post('rsku', true); $sl = $this->input->post('sl', true); $warehouse = $this->input->post('warehouse', true); if (!$sl) { $sl = 1; } if (!$warehouse) { echo json_encode(array('msg' => '请选择入库仓库', 'success' => false)); exit; } $dblabel = $this->whlabellabel->get_label($label); if ($dblabel) { $data = $this->whlabel->find_all("features = '" . $dblabel['features'] . "' and warehouse = '" . $dblabel['warehouse'] . "' and shop = '" . $dblabel['shop'] . "' and state = '3' and zd = ''"); if (count($data) < 1) { echo json_encode(array('msg' => '没有此SKU调拨数据!', 'success' => false)); exit; } if ($sl > count($data)) { echo json_encode(array('msg' => '入库数量大于调拨数量!', 'success' => false)); exit; } $time = time(); for ($i = 0; $i < $sl; $i++) { $this->whlabel->save(array('state' => 0, 'dbwarehouse' => $data[$i]['warehouse'], 'warehouse' => $warehouse, 'enter' => $time, 'time' => $time, 'dbcontent' => $data[$i]['dbcontent'] . $warehouse . '-' . $time . '|',), $data[$i]['id']); } echo json_encode(array('success' => true)); exit; } else { echo json_encode(array('msg' => '没有此条码的库存信息!', 'success' => false)); exit; } } $this->data['url'] = str_replace('/', '', $this->uri->slash_segment(2)); $this->_Template('whlabel_dbrk', $this->data); } public function _whlabelczdc() { if (isset($_GET['excel'])) { //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $state = $this->input->get('state', true); $sku = $this->input->get('sku', true); $ctime = $this->input->get('ctime', true); $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $timetk = $this->input->get('timetkk', true); $timetj = $this->input->get('timetjj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "dbtime > 0"; if ($timetk && $timetj) { $where .= " and dbtime > '$timetk' and dbtime < '$timetj'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } //取得信息列表 $info_list = $this->whlabel->find_all($where, '*'); $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $rows[$value['sku']] = $value; //所有数据sku } foreach ($rows as $value) { $warehouse = $this->warehouse->read($value['warehouse']); $db = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '"'); $rk = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and enter > 0'); if ($value['orderinfo'] == 0) { $info_list[$key]['orderinfo'] = ""; } if ($value['waybill'] == 0) { $info_list[$key]['waybill'] = ""; } if ($value['state'] == 0) { $value['state'] = "在库"; } else if ($value['state'] == 3) { $value['state'] = "调拨中"; } $list[] = array($value['sku'], $value['title'], $db, $rk); } $title = date('Y-m-d', $timetk) . '至' . date('Y-m-d', $timetj) . "统计表"; $titlename = "

" . $title . "

SKU 产品 调拨数量 入库数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($list, $titlename, $filename, $tail); } } public function _print($arg_array) { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $wid = ""; $wtype = ""; $usersp = explode('|', trim($user['shop'], '|')); $userwh = explode('|', trim($user['warehouse'], '|')); foreach ($usersp as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } foreach ($userwh as $value) { $wid .= " id = " . $value . " or"; $wtype .= " type = " . $value . " or"; } } $post = $this->input->post(NULL, TRUE); if (isset($post['tmsku'])) { $tmsku = $this->input->post('tmsku', true); if (is_numeric($tmsku)) { $yyh = $this->whlabellabel->get_label($tmsku); } else { $yyh = $this->whlabellabel->get_sku($tmsku); } if ($yyh) { echo json_encode(array('features' => $yyh['features'], 'success' => true)); exit; } else { echo json_encode(array('success' => false)); exit; } } $classid = $this->classid->sku(); $pm = $classid; $scsku = $classid; //等级-真人发类型-颜色-花型-蕾丝头套种类-多尺寸-单尺寸-Clip类型-礼物类型-马尾类型-重量-长度-头路设计-蕾丝尺寸25-蕾丝尺寸26-类型-密度-发帽大小-蕾丝颜色-头套其它属性-头套属性 100为头套额外 if (isset($post['warehouse'])) { if ($post['warehouse']) { $list = array(); $num = ""; $title = ""; $features = ""; $order = 0; $post['shop'] = ''; $brand = $this->input->post('brand', true); if ($brand != '0,') { $b = $this->brand->read(rtrim($brand, ',')); if ($b) { $post['shop'] = str_replace('|', ',', $b['shop']); } } $post['details'] = $this->input->post('details', true); //打印数量 $xbqnum = $this->input->post('xbqnum', true); $post['purchase'] = $this->input->post('purchase', true); $post['warehouse'] = $this->input->post('warehouse', true); $post['purchase'] = $this->input->post('purchase', true); $post['retreatwarehouse'] = $post['warehouse']; $post['cpbz'] = $this->input->post('cpbz', true); $post['state'] = 9; $category = $this->input->post('category', true); $list['category'] = $category; $list['hairtype'] = $this->input->post('hairtype', true); $list['grade'] = $this->input->post('grade', true); $size = $this->input->post('size', true); $list['size'] = rtrim($size, ','); $list['hairnumber'] = $this->input->post('hairnumber', true); $list['extension'] = $this->input->post('extension', true); if ($category == 1297) { $list['sywignumber'] = $this->input->post('sywignumber', true); } if ($category == 1702) { $list['syhairnumber'] = $this->input->post('syhairnumber', true); $list['syother'] = $this->input->post('syother', true); } if ($category == 133) { $list['fittype'] = $this->input->post('fittype', true); $list['acother'] = $this->input->post('acother', true); } $list['color'] = $this->input->post('color', true); $list['lowe'] = $this->input->post('lowe', true); if ($category == 127) { $list['type'] = $this->input->post('type', true); $list['headroad'] = $this->input->post('headroad', true); $list['density'] = $this->input->post('density', true); if ($list['type'] == 195 || $list['type'] == 197 || $list['type'] == 199) { $list['lacesize'] = $this->input->post('lacesize', true); } $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); } if ($category == 128) { $list['lacetype'] = $this->input->post('lacetype', true); $list['haircap'] = $this->input->post('haircap', true); $list['density'] = $this->input->post('density', true); $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); $list['wigother'] = $this->input->post('wigother', true); $list['wigother2'] = $this->input->post('wigother2', true); } if ($category == 129) { $list['wide'] = $this->input->post('wide', true); } if ($category == 131) { $list['gifttype'] = $this->input->post('gifttype', true); $list['giftother'] = $this->input->post('giftother', true); } if ($category == 134) { $list['pieceweight'] = $this->input->post('pieceweight', true); } if ($category == 1297) { $list['synthetictype'] = $this->input->post('synthetictype', true); $list['sywigother'] = $this->input->post('sywigother', true); } if ($category == 130 || $category == 133 || $category == 1702) { $list['items'] = $this->input->post('items', true); $list['weight'] = $this->input->post('weight', true); } if ($category == 1702) { $list['syhairther'] = $this->input->post('syhairther', true); } foreach ($list as $k => $v) { if ($v != 0) { $num .= $v; $features .= $v . '-'; $post[$k] = $v; $typeclass = $this->typeclass->read($v); if (isset($pm[$typeclass['classid']])) { if (stripos($typeclass['zh'], '|') !== false) { $exzh = explode('|', $typeclass['zh']); $pm[$typeclass['classid']] = $exzh[0]; } else { $pm[$typeclass['classid']] = $typeclass['zh']; } } $scsku[$typeclass['classid']] = $typeclass['bqsku']; if ($k != 'size') { $title .= $typeclass['title'] . " "; } } } $typeclass = $this->typeclass->read($list['size']); $title .= $typeclass['title']; $time = time(); $post['title'] = rtrim($title, ' '); $post['number'] = $num; $post['features'] = '-' . $features; $featurespp = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $features); $featurespp = explode('-', trim($featurespp, '-')); if (isset($featurespp[5])) { $post['featurespp'] = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4] . '-' . $featurespp[5]; } else { $post['featurespp'] = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4]; } $post['enter'] = $time; $post['time'] = $time; //操作时间 $scsku = implode("-", $scsku); $zh = implode(" ", $pm); $scsku = str_replace('- ', '-', trim($scsku, '-')); $scsku = str_replace(array('--------', '-------', '------', '-----', '----', '---', '--'), '-', $scsku); $bqsku = (isset($b['title'])) ? $b['title'] . '-' . $scsku : $scsku;; $post['sku'] = $bqsku; $label = time() . rand(0, 9); $post['label'] = $label; $cpid = $this->whlabellabel->find_count(); $post['cpid'] = $cpid + 1; $cpid = $post['cpid']; //$whlabelbarcode = $this->whlabelbarcode->get_number($post['number'],$post['warehouse']); //if($whlabelbarcode) //{ //$post['label'] = $whlabelbarcode['label']; //if(!$this->whlabellabel->insert($post)) //{ // echo json_encode(array('msg'=>'错误,请重试!','success'=>false));exit; //} //} //else //{ $this->db->trans_begin(); $this->whlabellabel->insert($post); //$this->whlabelbarcode->insert($post); if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); } else { $this->db->trans_rollback(); echo json_encode(array('msg' => '错误,请重试!', 'success' => false)); exit; } //} $details = ($post['details'] != '') ? '位置:(' . $post['details'] . ') ' . $cpid . '' : ''; $purchase = $this->purchase->read($post['purchase']); echo json_encode(array('title' => $title, 'num' => $post['label'], 'bqsku' => $bqsku, 'xbqnum' => $xbqnum, 'zh' => str_replace('自然色 ', '', rtrim($zh, ' ')), 'details' => $details, 'purchase' => $purchase['title'], 'cpbz' => $post['cpbz'], 'usa' => 0, 'success' => true)); exit; //特殊仓目前不需要仓库选项 } } if (isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $warehouse = $this->warehouse->find_all('1=1 and ' . rtrim($wid, 'or'), "*", "px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; } $whlabelwz = $this->whlabelwz->find_all(); $this->data['whlabelwz'] = $whlabelwz; $this->_Template('whlabel_print', $this->data); } public function _usaprint($arg_array) { if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = ""; $sid = ""; $wid = ""; $wtype = ""; $usersp = explode('|', trim($user['shop'], '|')); $userwh = explode('|', trim($user['warehouse'], '|')); foreach ($usersp as $value) { $fgshop .= " shop = " . $value . " or"; $sid .= " id = " . $value . " or"; } foreach ($userwh as $value) { $wid .= " id = " . $value . " or"; $wtype .= " type = " . $value . " or"; } } $post = $this->input->post(NULL, TRUE); if (isset($post['tmsku'])) { $tmsku = $this->input->post('tmsku', true); if (is_numeric($tmsku)) { $yyh = $this->whlabellabel->get_label($tmsku); } else { $yyh = $this->whlabellabel->get_sku($tmsku); } if ($yyh) { echo json_encode(array('features' => $yyh['features'], 'success' => true)); exit; } else { echo json_encode(array('success' => false)); exit; } } $classid = $this->classid->sku(); $pm = $classid; $scsku = $classid; //等级-真人发类型-颜色-花型-蕾丝头套种类-多尺寸-单尺寸-Clip类型-礼物类型-马尾类型-重量-长度-头路设计-蕾丝尺寸25-蕾丝尺寸26-类型-密度-发帽大小-蕾丝颜色-头套其它属性-头套属性 100为头套额外 if (isset($post['warehouse'])) { if ($post['warehouse']) { $list = array(); $num = ""; $title = ""; $features = ""; $order = 0; $post['shop'] = ''; $brand = $this->input->post('brand', true); if ($brand != '0,') { $b = $this->brand->read(rtrim($brand, ',')); if ($b) { $post['shop'] = str_replace('|', ',', $b['shop']); } } $post['details'] = $this->input->post('details', true); //打印数量 $xbqnum = $this->input->post('xbqnum', true); $post['purchase'] = $this->input->post('purchase', true); $post['warehouse'] = $this->input->post('warehouse', true); $post['purchase'] = $this->input->post('purchase', true); $post['retreatwarehouse'] = $post['warehouse']; $post['cpbz'] = $this->input->post('cpbz', true); $post['state'] = 9; $category = $this->input->post('category', true); $list['category'] = $category; $list['hairtype'] = $this->input->post('hairtype', true); $list['grade'] = $this->input->post('grade', true); $size = $this->input->post('size', true); $list['size'] = rtrim($size, ','); $list['hairnumber'] = $this->input->post('hairnumber', true); $list['extension'] = $this->input->post('extension', true); if ($category == 1297) { $list['sywignumber'] = $this->input->post('sywignumber', true); } if ($category == 1702) { $list['syhairnumber'] = $this->input->post('syhairnumber', true); $list['syother'] = $this->input->post('syother', true); } if ($category == 133) { $list['fittype'] = $this->input->post('fittype', true); $list['acother'] = $this->input->post('acother', true); } $list['color'] = $this->input->post('color', true); $list['lowe'] = $this->input->post('lowe', true); if ($category == 127) { $list['type'] = $this->input->post('type', true); $list['headroad'] = $this->input->post('headroad', true); $list['density'] = $this->input->post('density', true); if ($list['type'] == 195 || $list['type'] == 197 || $list['type'] == 199) { $list['lacesize'] = $this->input->post('lacesize', true); } $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); } if ($category == 128) { $list['lacetype'] = $this->input->post('lacetype', true); $list['haircap'] = $this->input->post('haircap', true); $list['density'] = $this->input->post('density', true); $list['lacecolor'] = $this->input->post('lacecolor', true); $list['lacetypes'] = $this->input->post('lacetypes', true); $list['wigother'] = $this->input->post('wigother', true); $list['wigother2'] = $this->input->post('wigother2', true); } if ($category == 129) { $list['wide'] = $this->input->post('wide', true); } if ($category == 131) { $list['gifttype'] = $this->input->post('gifttype', true); $list['giftother'] = $this->input->post('giftother', true); } if ($category == 134) { $list['pieceweight'] = $this->input->post('pieceweight', true); } if ($category == 1297) { $list['synthetictype'] = $this->input->post('synthetictype', true); $list['sywigother'] = $this->input->post('sywigother', true); } if ($category == 130 || $category == 133 || $category == 1702) { $list['items'] = $this->input->post('items', true); $list['weight'] = $this->input->post('weight', true); } if ($category == 1702) { $list['syhairther'] = $this->input->post('syhairther', true); } foreach ($list as $k => $v) { if ($v != 0) { $num .= $v; $features .= $v . '-'; $post[$k] = $v; $typeclass = $this->typeclass->read($v); if (isset($pm[$typeclass['classid']])) { if (stripos($typeclass['zh'], '|') !== false) { $exzh = explode('|', $typeclass['zh']); $pm[$typeclass['classid']] = $exzh[0]; } else { $pm[$typeclass['classid']] = $typeclass['zh']; } } $scsku[$typeclass['classid']] = $typeclass['bqsku']; if ($k != 'size') { $title .= $typeclass['title'] . " "; } } } $typeclass = $this->typeclass->read($list['size']); $title .= $typeclass['title']; $time = time(); $post['title'] = rtrim($title, ' '); $post['number'] = $num; $post['features'] = '-' . $features; $fp = $this->whlabel->get_features($post['features']); if (!$fp) { echo json_encode(array('msg' => '美仓无此产品,需要添加后才可打印', 'success' => false)); exit; } $featurespp = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $features); $featurespp = explode('-', trim($featurespp, '-')); if (isset($featurespp[5])) { $post['featurespp'] = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4] . '-' . $featurespp[5]; } else { $post['featurespp'] = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4]; } $post['enter'] = $time; $post['time'] = $time; //操作时间 $scsku = implode("-", $scsku); $zh = implode(" ", $pm); $scsku = str_replace('- ', '-', trim($scsku, '-')); $scsku = str_replace(array('--------', '-------', '------', '-----', '----', '---', '--'), '-', $scsku); $bqsku = (isset($b['title'])) ? $b['title'] . '-' . $scsku : $scsku;; $post['sku'] = $fp['sku']; $post['label'] = $fp['sku']; $cpid = $this->whlabellabel->find_count(); $post['cpid'] = $cpid + 1; $cpid = $post['cpid']; //$whlabelbarcode = $this->whlabelbarcode->get_number($post['number'],$post['warehouse']); //if($whlabelbarcode) //{ //$post['label'] = $whlabelbarcode['label']; //if(!$this->whlabellabel->insert($post)) //{ // echo json_encode(array('msg'=>'错误,请重试!','success'=>false));exit; //} //} //else //{ $this->db->trans_begin(); $this->whlabellabel->insert($post); //$this->whlabelbarcode->insert($post); if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); } else { $this->db->trans_rollback(); echo json_encode(array('msg' => '错误,请重试!', 'success' => false)); exit; } //} $details = ($post['details'] != '') ? '位置:(' . $post['details'] . ') ' . $cpid . '' : ''; $purchase = $this->purchase->read($post['purchase']); echo json_encode(array('title' => $title, 'num' => $post['label'], 'bqsku' => $bqsku, 'xbqnum' => $xbqnum, 'zh' => str_replace('自然色 ', '', rtrim($zh, ' ')), 'details' => $details, 'purchase' => $purchase['title'], 'cpbz' => $post['cpbz'], 'usa' => 1, 'success' => true)); exit; //特殊仓目前不需要仓库选项 } } if (isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and ' . rtrim($sid, 'or')); $warehouse = $this->warehouse->find_all('1=1 and ' . rtrim($wid, 'or'), "*", "px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; } $whlabelwz = $this->whlabelwz->find_all(); $this->data['whlabelwz'] = $whlabelwz; $this->_Template('whlabel_usaprint', $this->data); } public function _printrk($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $bs = $this->input->post('bs', true); $number = $this->input->post('number', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $label = $this->input->post('label', true); $timetk = $this->input->post('ktime', true); $timetj = $this->input->post('jtime', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "1=1 "; if ($timetk && $timetj) { $where .= " and enter > '$timetk' and enter < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($bs != '') { $where .= " and bs = '$bs'"; } if ($number) { $where .= " and number = '$number'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($label) { $where .= " and label = '$label'"; } if ($state || $state == 0) { $where .= " and state = '$state'"; } $ck = ($warehouse == '12') ? 'specialstock' : 'whlabel'; //数据排序 $order_str = "enter desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$ck->find_all($where, 'id,warehouse,purchase,sku,title,state,enter,details', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = ($ck == 'specialstock') ? '特殊仓' : $warehouse['title']; $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } else if ($value['state'] == 10) { $info_list[$key]['state'] = "美店零售"; } $info_list[$key]['enter'] = date('Y-m-d H:i:s', $value['enter']); } $total = $this->$ck->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } if (isset($post['tmsku'])) { $time = time(); $tmsku = $this->input->post('tmsku', true); //$post['shop'] = $this->input->post('shop',true); $num = $this->input->post('num', true); $rktype = $this->input->post('rktype', true); if ($num > 200) { echo json_encode(array('msg' => '入库数量不允许超过200!', 'c' => 0, 'success' => false)); exit; } if (!$rktype) { //echo json_encode(array('msg'=>'请选择入库类型!','c'=>0,'success'=>false));exit; } $rk = $this->whlabellabel->find_all("label = '$tmsku'", "*", "id desc"); /** $wz = array(); foreach ($rk as $key=>$value) { $wz[$value['details']] = array('details'=>$value['details'],'id'=>$value['id']); } if(count($wz) > 1) { $wz = array_values($wz); echo json_encode(array('msg'=>'此条码有多个位置,请选择','wz'=>$wz,'c'=>1,'success'=>false));exit; } **/ if (isset($rk[0]['purchase'])) { $rk = $rk[0]; $j = 0; $post['purchase'] = $rk['purchase']; $post['warehouse'] = $rk['warehouse']; $post['retreatwarehouse'] = $rk['warehouse']; $post['sku'] = $rk['sku']; $post['number'] = $rk['number']; $post['features'] = $rk['features']; $post['title'] = $rk['title']; $post['enter'] = $time; $post['time'] = $time; $post['bs'] = 1; $post['shop'] = $rk['shop']; $post['details'] = $rk['details']; $post['cpid'] = $rk['cpid']; $post['cpbz'] = $rk['cpbz']; //$post['rktype'] = $rktype; $warehouse = $this->warehouse->read($rk['warehouse']); if ($warehouse['bdck'] == '') { echo json_encode(array('msg' => '此仓库没有设置现货,无法入库!', 'c' => 0, 'success' => false)); exit; } else { $bdck = $warehouse['bdck']; } $pdwz = $this->whlabel->get_warehousesku($post['warehouse'], $post['sku']); if (isset($pdwz['details'])) { if ($pdwz['details'] != $post['details']) { echo json_encode(array('msg' => '此产品位置应为:' . $pdwz['details'], 'c' => 0, 'cs' => $pdwz['details'] . ' - ' . $post['details'], 'success' => false)); exit; } } $post['featurespp'] = $rk['featurespp']; if ($post['warehouse'] == '5') { $yza = $this->whlabel->find_all("sku = '" . $post['sku'] . "' and warehouse = '" . $post['warehouse'] . "' and shop = '" . $post['shop'] . "'"); if ($yza) { if ($post['features'] != $yza[0]['features']) { echo json_encode(array('msg' => '此SKU的产品信息和现有不一致!', 'new' => $post['features'] . '-' . $post['sku'], 'old' => $yza[0]['features'], 'c' => 0, 'success' => false)); exit; } } $yzb = $this->whlabel->find_all("features = '" . $post['features'] . "' and warehouse = '" . $post['warehouse'] . "' and shop = '" . $post['shop'] . "'"); if ($yzb) { if ($post['sku'] != $yzb[0]['sku']) { echo json_encode(array('msg' => '此产品信息的SKU和现有' . $yzb[0]['sku'] . '不一致!', 'c' => 0, 'success' => false)); exit; } } } for ($i = 0; $i < $num; $i++) { $post['label'] = time() . rand(100, 999) . $i; if ($this->$bdck->insert($post)) { $j++; } } /** if($post['warehouse'] != 12) { echo json_encode(array('msg'=>'目前非特殊仓不能入库!','success'=>true));exit; } **/ if ($j == $num) { echo json_encode(array('msg' => '入库成功!', 'success' => true)); exit; } else { echo json_encode(array('msg' => '未成功入库数量:' . $num - $j . ',请补入', 'c' => 0, 'success' => false)); exit; } } else { echo json_encode(array('msg' => '未找到此条码数据!', 'c' => 0, 'success' => false)); exit; } } $this->_Template('whlabel_printrk', $this->data); } public function _printxzrk($arg_array) { $post = $this->input->post(NULL, TRUE); if (isset($post['wzid'])) { $time = time(); $id = $this->input->post('wzid', true); //$post['shop'] = $this->input->post('shop',true); $num = 1; $rk = $this->whlabellabel->read($id); if (isset($rk['purchase'])) { $x = 0; $post['purchase'] = $rk['purchase']; $post['warehouse'] = $rk['warehouse']; $post['retreatwarehouse'] = $rk['warehouse']; $post['sku'] = $rk['sku']; $post['number'] = $rk['number']; $post['features'] = $rk['features']; $post['title'] = $rk['title']; $post['enter'] = $time; $post['time'] = $time; $post['bs'] = 1; $post['shop'] = $rk['shop']; $post['details'] = $rk['details']; $post['cpid'] = $rk['cpid']; $post['cpbz'] = $rk['cpbz']; $warehouse = $this->warehouse->read($rk['warehouse']); if ($warehouse['bdck'] == '') { echo json_encode(array('msg' => '此仓库没有设置现货,无法入库!', 'success' => false)); exit; } else { $bdck = $warehouse['bdck']; } $post['featurespp'] = $rk['featurespp']; $this->db->trans_begin(); for ($i = 0; $i < $num; $i++) { $post['label'] = time() . rand(100, 999) . $i; $this->$bdck->insert($post); } /** if($post['warehouse'] != 12) { echo json_encode(array('msg'=>'目前非特殊仓不能入库!','success'=>true));exit; } **/ if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); echo json_encode(array('msg' => '入库成功!', 'cs' => $post, 'cs2' => $warehouse, 'success' => true)); exit; } else { $this->db->trans_rollback(); echo json_encode(array('msg' => '入库失败,请重试', 'c' => 0, 'success' => false)); exit; } } else { echo json_encode(array('msg' => '未找到此条码数据!', 'c' => 0, 'success' => false)); exit; } } } public function _printck($arg_array) { $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $sku = $this->input->post('sku', true); $bs = $this->input->post('bs', true); $number = $this->input->post('number', true); $warehouse = $this->input->post('warehouse', true); $purchase = $this->input->post('purchase', true); $orderinfo = $this->input->post('orderinfo', true); $waybill = $this->input->post('waybill', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $state = $this->input->post('state', true); $label = $this->input->post('label', true); $timetk = $this->input->post('ktime', true); $timetj = $this->input->post('jtime', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "state=1 "; if ($timetk && $timetj) { $where .= " and outk > '$timetk' and outk < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($bs != '') { $where .= " and bs = '$bs'"; } if ($number) { $where .= " and number = '$number'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($label) { $where .= " and label = '$label'"; } $ck = ($warehouse == '12') ? 'specialstock' : 'whlabel'; //数据排序 $order_str = "outk desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } //取得信息列表 $info_list = $this->$ck->find_all($where, 'id,warehouse,purchase,sku,title,state,outk,details', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = ($ck == 'specialstock') ? '特殊仓' : $warehouse['title']; $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } else if ($value['state'] == 10) { $info_list[$key]['state'] = "美店零售"; } $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); } $total = $this->$ck->find_count($where); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } if (isset($post['tmsku'])) { $time = time(); $tmsku = $this->input->post('tmsku', true); //$post['shop'] = $this->input->post('shop',true); $num = $this->input->post('num', true); $cktype = $this->input->post('cktype', true); $label = $this->whlabellabel->get_label($tmsku); if (!$cktype) { //echo json_encode(array('msg'=>'请选择出库类型!','success'=>false));exit; } if (!isset($label['warehouse'])) { echo json_encode(array('msg' => '没有此条码信息!', 'success' => false)); exit; } $xzck = ($label['warehouse'] == '12') ? 'specialstock' : 'whlabel'; if (stripos($label['features'], '-126-') !== false) { $ck = $this->$xzck->find_all("state = '0' and shop = '" . $label['shop'] . "' and number = '" . $label['number'] . "' and warehouse = '" . $label['warehouse'] . "' and zd = ''"); } else { $ck = $this->$xzck->find_all("state = '0' and shop = '" . $label['shop'] . "' and number = '" . $label['number'] . "' and warehouse = '" . $label['warehouse'] . "' and purchase = '" . $label['purchase'] . "' and zd = ''"); } $j = 0; if (count($ck) >= $num) { for ($i = 0; $i < $num; $i++) { if ($this->$xzck->save(array('state' => 1, 'outk' => $time, 'time' => $time), $ck[$i]['id'])) //,'cktype'=>$cktype { $j++; } } if ($j == $num) { echo json_encode(array('msg' => '出库成功!', 'success' => true)); exit; } else { echo json_encode(array('msg' => '未成功出库数量:' . $num - $j . ',请补入', 'c' => 0, 'success' => false)); exit; } } else { echo json_encode(array('msg' => '没有足够的库存!', 'cs' => $label['sku'] . ' - ' . $label['purchase'], 'success' => false)); exit; } } $this->_Template('whlabel_printck', $this->data); } public function _printexcel() { $dir = '/data/excel/' . date('Ymd', time()) . '/'; $config['upload_path'] = '.' . $dir; $config['file_name'] = date('Ymd_His_', time()) . rand(1000, 9999); $config['allowed_types'] = 'xls|xlsx|csv'; $config['max_size'] = 10240; $this->load->library('upload', $config); $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $full_path = $dir . $this->upload->data('file_name'); $fileName = '.' . $full_path; if (!file_exists($fileName)) { echo json_encode(array('msg' => "上传失败,请重试", 'success' => false)); exit; } else { require_once "../Documents/data/excel/PHPExcel/IOFactory.php"; $phpExcel = PHPExcel_IOFactory::load($fileName); // 载入当前文件 $phpExcel->setActiveSheetIndex(0); // 设置为默认表 $sheetCount = $phpExcel->getSheetCount(); // 获取表格数量 $row = $phpExcel->getActiveSheet()->getHighestRow(); // 获取行数 $column = $phpExcel->getActiveSheet()->getHighestColumn(); // 获取列数 ++$column; //如果列数大于26行 $list = array(); for ($i = 2; $i <= $row; $i++) // 行数循环 { $data = array(); for ($c = 'A'; $c != $column; $c++) // 列数循环 { $data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue(); } $list[] = $data; } } $ed = array(); $i = 0; $j = 0; $dcdata = array(); $yc = ''; $cmf_arr = array_column($list, '1'); array_multisort($cmf_arr, SORT_ASC, $list); foreach ($list as $key => $value) { $typeclass = $this->typeclass->get_bqsku($value['1'], $value['2']); if ($typeclass) { $this->typeclass->save(array('bqsku' => $value['3']), $typeclass['id']); } else { $ed[] = array($value['1'] . '-系统未找到此订单信息'); $i++; continue; } } if ($i > 0) { $yc = $i . '条异常'; } echo json_encode(array('msg' => '操作成功 ' . $yc, 'yc' => $ed, 'success' => true)); exit; } } public function _uck() { if (isset($_GET['excel'])) { $tc = array(); $typeclass = $this->typeclass->find_all(); foreach ($typeclass as $v) { $tc[$v['id']] = $v['zh']; } $data = array(); $t = array(); $rq = ''; $ts = strtotime(date("Y-m-d", time())) - strtotime(date("Y-m", time())); $ts = $ts / (24 * 3600); for ($i = 0; $i < $ts; $i++) { $t[] = date("Y-m-d", strtotime('-' . ($ts - $i) . ' day')); $rq .= "" . date("Y-m-d", strtotime('-' . ($ts - $i) . ' day')) . ""; } $info_list = $this->whlabel->find_pc("warehouse = '5'", 'sku', 'warehouse,sku,features'); foreach ($info_list as $k => $v) { $features = explode('-', trim($v['features'], '-')); if (!isset($features[3]) || !isset($features[4])) { continue; } $data[$k][0] = $tc[$features[0]]; //类型 $data[$k][1] = ($features[3] != 57) ? $tc[$features[3]] : ''; //颜色,自然色不显示 $data[$k][2] = $tc[$features[4]]; //曲度 $data[$k][3] = ''; if (isset($data[$k][1])) { $data[$k][3] .= $data[$k][1]; } if (isset($data[$k][2])) { $data[$k][3] .= $data[$k][2]; } if (isset($features[5])) { $data[$k][3] .= $tc[$features[5]]; } if (isset($features[2])) { $data[$k][3] .= $tc[$features[2]]; } //$data[$k][3] 颜色,曲度,头套种类,尺寸 $data[$k][4] = $v['sku']; $data[$k][5] = $this->whlabel->find_count('sku = "' . $v['sku'] . '" and warehouse = "' . $v['warehouse'] . '" and features = "' . $v['features'] . '" and (state = 0 or (state = 1 and outk > ' . strtotime(date("Y-m", time())) . '))'); //月初库存 $data[$k][] = $this->whlabel->find_count('sku = "' . $v['sku'] . '" and state = 0 and warehouse = "' . $v['warehouse'] . '" and features = "' . $v['features'] . '"'); //剩余库存 $zt = $this->whlabeltransport->find_all('sku = "' . $v['sku'] . '" and warehouse = "' . $v['warehouse'] . '" and features = "' . $v['features'] . '" and cz = "0"'); $ztrq = ''; $ztsl = ''; if (count($zt) > 0) { foreach ($zt as $vv) { $ztrq .= date('Y-m-d', $vv['stime']) . '
'; $ztsl .= $vv['num'] . '
'; } } $data[$k][] = trim($ztsl, '
'); $data[$k][] = trim($ztrq, '
'); $byck = 0; foreach ($t as $vv) { $sl = $this->whlabel->find_count('sku = "' . $v['sku'] . '" and warehouse = "' . $v['warehouse'] . '" and features = "' . $v['features'] . '" and state = 1 and outk > ' . strtotime($vv) . ' and outk < ' . (strtotime($vv) + 24 * 3600)); $data[$k][] = ($sl > 0) ? '' . $sl . '' : ''; $byck += $sl; } $data[$k][] = ($byck > 0) ? $byck : ''; } $title = "详情 " . date("Y-m-d", time()); $titlename = "" . $rq . "
类别 颜色 曲度 名称 SKU 月初库存 剩余库存 在途数量 预达日期本月出库
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($data, $titlename, $filename, $tail); } } public function _whlabelexcelzh() { if (isset($_GET['excel'])) { $where = "sku != 'Preset'"; //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $category = $this->input->get('category', true); $warehouse = $this->input->get('warehouse', true); $excelid = $this->input->get('sid', true); if ($category) { $where .= " and features like '%-$category-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } $xzid = ''; if ($excelid) { $excelid = explode(',', trim($excelid, ',')); foreach ($excelid as $key => $value) { $xzid .= " id = " . $value . " or"; } $xzid = " and (" . rtrim($xzid, 'or') . ")";; } //取得信息列表 /** $info_list = $this->whlabel->find_all($where.$xzid,'*'); $rows = array();$list = array(); foreach ($info_list as $key=>$value) { $rows[strtolower($value['sku']).$value['features'].$value['warehouse']] = $value;//所有数据sku } **/ $list = array(); $rows = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,sku,title,number,features'); foreach ($rows as $key => $value) { $c = $this->whlabel->find_count($where . ' and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "0" and features = "' . $value['features'] . '"'); $zh = ''; $zt = $this->whlabeltransport->find_all('sku = "' . $value['sku'] . '" and time = "0" and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'num,stime'); foreach ($zt as $v) { $zh .= $v['num'] . " / " . date('Y-m-d', $v['stime']) . "
"; } $zt = array_sum(array_column($zt, 'num')); $number = $value['number']; $ftime = time() - 15 * 24 * 3600; $warehouse = $this->warehouse->read($value['warehouse']); $rows[$key]['warehouse'] = $warehouse['title']; $rows[$key]['number'] = $c; $rows[$key]['features'] = $zh; $rows[$key]['hb'] = $c + $zt; } $title = "导出库存数据及在途中数据" . date('Y-m-d', time()); $titlename = "

导出库存数据及在途中数据

仓库 SKU 产品 库存数量 在途数量及预达日期 在途+库存数量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($rows, $titlename, $filename, $tail); } if (isset($_GET['excel'])) { $warehouse = $this->input->get('warehouse', true); $sku = $this->input->get('sku', true); $cz = $this->input->get('cz', true); $text = $this->input->post('text', true); $xztime = $this->input->get('xztime', true); $timetk = $this->input->get('timetk', true); $timetj = $this->input->get('timetj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "time = '0' "; if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($text) { $where .= " and text like '%$text%'"; } if ($cz != '') { $where .= " and cz = '$cz'"; } if ($timetk && $timetj) { $where .= " and " . $xztime . " > '$timetk' and " . $xztime . " < '$timetj'"; } //数据排序 $order_str = $xztime . " desc"; //取得信息列表 $zh = array(); $info_list = $this->whlabeltransport->find_all($where, 'warehouse,sku,title,num,features,enter,stime,text'); foreach ($info_list as $v) { $c = $this->whlabel->find_count('state = 0 and warehouse = "' . $v['warehouse'] . '" and features = "' . $v['features'] . '"'); $warehouse = $this->warehouse->read($v['warehouse']); $v['warehouse'] = $warehouse['title']; $v['enter'] = date('Y-m-d H:i:s', $v['enter']); $v['stime'] = date('Y-m-d', $v['stime']); if (isset($zh[$v['features']])) { $zh[$v['features']]['num'] += $v['num']; } else { $zh[$v['features']] = $v; } $zh[$v['features']]['features'] = $c; } $title = "在途数据" . date('Y-m-d', time()); $titlename = "
仓库 SKU 名称 在途数量 库存数量 添加在途日期 预达日期 备注
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($zh, $titlename, $filename, $tail); } } public function _fc() { $vip = 0; if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); if ($user['vip'] == 1) { $vip = 1; } } else { header('Location: /'); exit; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $this->input->post('warehouse', true); $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $details = $this->input->post('details', true); $state = $this->input->post('state', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "state = '11'"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($details) { $where .= " and details = '$details'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,number,features', $order_str, $start, $perpage); } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,number,features', $order_str, $start, $perpage); } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,number,features', $order_str, $start, $perpage); } //取得信息列表 $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $g = $this->whlabel->find_count($where . ' and (oldstate = "11" or state = "11") and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state != "9" and features = "' . $value['features'] . '"'); $x = $this->whlabel->find_count($where . ' and oldstate = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "1" and features = "' . $value['features'] . '"'); $s = $this->whlabel->find_count($where . ' and state = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "8" and features = "' . $value['features'] . '"'); $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = $warehouse['title']; $info_list[$key]['number'] = $g; $info_list[$key]['features'] = $x; $info_list[$key]['x'] = $s; } $total = count($this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,features,number')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($info_list)); echo json_encode($rows); exit; } $this->data['vip'] = $vip; $this->_Template('whlabel_fc', $this->data); } public function _fcmb() { $where = "sku != 'Preset'"; $rows = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,sku,title'); foreach ($rows as $k => $v) { $warehouse = $this->warehouse->read($v['warehouse']); $rows[$k]['warehouse'] = $warehouse['title']; $rows[$k]['num'] = $this->whlabel->find_count('warehouse = "' . $v['warehouse'] . '" and sku = "' . $v['sku'] . '" and state = 11'); $rows[$k]['t'] = ''; $rows[$k]['n'] = ''; } $title = "封货产品数据导入模板"; $titlename = "

" . $title . "

仓库 SKU 产品 封存产品总数量 类型(0.增加封存数量 1.转入产品库存 2.删除封存数量 留空导入时自动跳过此行) 数量(填写正整数,留空导入时自动跳过此行)
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($rows, $titlename, $filename, $tail); } public function _fcexcel() { $dir = '/data/excel/' . date('Ymd', time()) . '/'; $config['upload_path'] = '.' . $dir; $config['file_name'] = date('Ymd_His_', time()) . rand(1000, 9999); $config['allowed_types'] = 'xls|xlsx|csv'; $config['max_size'] = 10240; $this->load->library('upload', $config); $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $full_path = $dir . $this->upload->data('file_name'); $fileName = '.' . $full_path; if (!file_exists($fileName)) { echo json_encode(array('msg' => "上传失败,请重试", 'success' => false)); exit; } else { libxml_use_internal_errors(true); require_once "../Documents/data/excel/PHPExcel/IOFactory.php"; $phpExcel = PHPExcel_IOFactory::load($fileName); // 载入当前文件 $phpExcel->setActiveSheetIndex(0); // 设置为默认表 $sheetCount = $phpExcel->getSheetCount(); // 获取表格数量 $row = $phpExcel->getActiveSheet()->getHighestRow(); // 获取行数 $column = $phpExcel->getActiveSheet()->getHighestColumn(); // 获取列数 ++$column; //如果列数大于26行 $list = array(); for ($i = 2; $i <= $row; $i++) // 行数循环 { $data = array(); for ($c = 'A'; $c != $column; $c++) // 列数循环 { $data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue(); } $list[] = $data; } } $i = 0; $j = 0; $ed = array(); foreach ($list as $key => $value) { $time = time(); if ($value['0'] == "" || !is_numeric($value['3']) || !is_numeric($value['4'])) { continue; } $warehouse = $this->warehouse->get_title($value['0']); $sku = $value['1']; $type = $value['4']; //调整方式0扣减1删除 $num = $value['5']; //调整数量 //$text = $value['4'];//扣减说明 $d = $this->whlabel->get_warehousesku($warehouse['id'], $sku); if (!$d) //如果没有这个SKU { $ed[] = array($sku . '-库存中不存在此SKU'); $j++; continue; } if (!isset($warehouse['id'])) { $ed[] = array($sku . '-仓库名错误!'); $j++; continue; } if ($type == 1 || $type == 2) //扣减库存 { $data = $this->whlabel->find_all('warehouse = "' . $warehouse['id'] . '" and sku = "' . $sku . '" and state = 11'); if (count($data) < abs($num)) { $ed[] = array($sku . '-数量大于封存产品剩余数量!'); $j++; continue; } if ($type == 1) //转入库存 { for ($i = 0; $i < abs($num); $i++) { $this->whlabel->save(array('state' => 0, 'oldstate' => 11, 'time' => $time), $data[$i]['id']); } } else if ($type == 2) //删除 { for ($i = 0; $i < abs($num); $i++) { $this->whlabel->remove($data[$i]['id']); } } } else if ($type == 0) //增加库存 { $post['sku'] = $d['sku']; $post['shop'] = ''; $post['warehouse'] = $warehouse['id']; $post['purchase'] = $d['purchase']; $post['retreatwarehouse'] = $d['retreatwarehouse']; $post['state'] = 11; $post['title'] = $d['title']; $post['number'] = $d['number']; $post['features'] = $d['features']; $post['enter'] = $time; $post['time'] = $time; //操作时间 for ($i = 0; $i < $num; $i++) { $post['label'] = time() . rand(100, 999) . $i; $this->whlabel->insert($post); } } sleep(1); //防止入库时间一样,需要延迟1秒 } if ($j > 0) { $tt = date('Ymd', time()); $title = '库存导入错误信息-' . $tt; $titlename = "
错误详情
"; $tail = "\n"; $filename = $title . ".xls"; $ecl = $this->excel->get_fz3($ed, $titlename, $filename, $tail); $dir = '/data/excel/' . $time . '/'; $file_name = 'error_' . $time . rand(1000, 9999); if (!is_dir('.' . $dir)) mkdir('.' . $dir, 0777); $myfile = fopen("." . $dir . $file_name . ".xls", "w") or die(); fwrite($myfile, $ecl); fclose($myfile); $error = $dir . $file_name . '.xls'; echo json_encode(array('msg' => '导入成功,' . $j . '条异常,', 'error' => $error, 'success' => true)); exit; } else { echo json_encode(array('msg' => '导入成功!', 'error' => 1, 'success' => true)); exit; } } } public function _fcjxc($arg_array) { if (isset($_GET['excel'])) { $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku'); $title = $this->input->get('title'); $warehouse = $arg_array[0]; $usa = $this->input->get('usa', true); $purchase = $this->input->get('purchase', true); $lacetype = $this->input->get('lacetype', true); $haircap = $this->input->get('haircap', true); $density = $this->input->get('density', true); $title = $this->input->get('title', true); $state = $this->input->get('state', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $where = "state=11"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } $order_str = "id desc"; if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,sku,title,features', $order_str, $start, $perpage); } else if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,sku,title,features', $order_str, $start, $perpage); } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'warehouse,sku,title,features', $order_str, $start, $perpage); } //取得信息列表 $rows = array(); $list = array(); foreach ($info_list as $key => $value) { $g = $this->whlabel->find_count($where . ' and (oldstate = "11" or state = "11") and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state != "9" and features = "' . $value['features'] . '"'); $x = $this->whlabel->find_count($where . ' and oldstate = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "1" and features = "' . $value['features'] . '"'); $s = $this->whlabel->find_count($where . ' and state = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "8" and features = "' . $value['features'] . '"'); $rows[$key] = $value; $warehouse = $this->warehouse->read($value['warehouse']); $rows[$key]['warehouse'] = $warehouse['title']; $rows[$key]['features'] = $g; $rows[$key]['a'] = $x; $rows[$key]['b'] = $s; } $title = "总统计表"; $titlename = "

" . $title . "

仓库 SKU 产品名称 录入总量 取出总量 剩余总量
"; $filename = $title . ".xls"; $tail = ""; $this->excel->get_fz2($rows, $titlename, $filename, $tail); } $vip = 0; if (isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); if ($user['vip'] == 1) { $vip = 1; } } else { header('Location: /'); exit; } $post = $this->input->post(NULL, TRUE); if (isset($post['page'])) { $page = $this->input->post('page', true); $perpage = $this->input->post('perpage', true); $category = $this->input->post('category', true); $size = $this->input->post('size', true); $grade = $this->input->post('grade', true); $color = $this->input->post('color', true); $lowe = $this->input->post('lowe', true); $sku = $this->input->post('sku'); $title = $this->input->post('title'); $warehouse = $arg_array[0]; $usa = $this->input->post('usa', true); $purchase = $this->input->post('purchase', true); $lacetype = $this->input->post('lacetype', true); $haircap = $this->input->post('haircap', true); $density = $this->input->post('density', true); $title = $this->input->post('title', true); $state = $this->input->post('state', true); $ktime = $this->input->post('ktime', true); $jtime = $this->input->post('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "state=11"; $gj = ""; $ck = ""; if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($usa) { if (!$warehouse) { $where .= " and (warehouse = '5' or warehouse = '8')"; } } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($ktime && $jtime) { $gj = " and enter > '$ktime' and enter < '$jtime'"; $ck = " and outk > '$ktime' and outk < '$jtime'"; } //数据排序 $order_str = "id desc"; $xs = 0; $rows = array(); $list = array(); if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } if ($sku || $title) { if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; } else { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; } $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,features', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $g = $this->whlabel->find_count($where . ' and (oldstate = "11" or state = "11") and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state != "9" and features = "' . $value['features'] . '"'); $x = $this->whlabel->find_count($where . ' and oldstate = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "1" and features = "' . $value['features'] . '"'); $s = $this->whlabel->find_count($where . ' and state = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "8" and features = "' . $value['features'] . '"'); $rows[$key] = $value; $warehouse = $this->warehouse->read($value['warehouse']); $rows[$key]['warehouse'] = $warehouse['title']; $rows[$key]['features'] = $g; $rows[$key]['a'] = $x; $rows[$key]['b'] = $s; $kc = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid'); //现有库存 $xl = $this->whlabel->find_count($where . " and outk > '" . (time() - 30 * 24 * 3600) . "' and outk < '" . time() . "'" . ' and sku = "' . $value['sku'] . '" and state = 1 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); //30天销量 $yj = $c / ($xl / 30); if ($yj < 7) { $rows[$key]['y'] = round($yj) . '天销量'; } else { $rows[$key]['y'] = '正常'; } } } else { //$where .= " and time > '$ktime' and time < '$jtime'"; $info_list = $this->whlabel->find_pc($where, 'sku,features,warehouse', 'id,warehouse,sku,title,features', $order_str, $start, $perpage); foreach ($info_list as $key => $value) { $g = $this->whlabel->find_count($where . ' and (oldstate = "11" or state = "11") and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state != "9" and features = "' . $value['features'] . '"'); $x = $this->whlabel->find_count($where . ' and oldstate = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "1" and features = "' . $value['features'] . '"'); $s = $this->whlabel->find_count($where . ' and state = "11" and sku = "' . $value['sku'] . '" and warehouse = "' . $value['warehouse'] . '" and state = "8" and features = "' . $value['features'] . '"'); $zs[$key] = $value; $warehouse = $this->warehouse->read($value['warehouse']); $zs[$key]['warehouse'] = $warehouse['title']; $zs[$key]['features'] = $g; $zs[$key]['a'] = $x; $zs[$key]['b'] = $s; $kc = $this->whlabel->find_all($where . ' and sku = "' . $value['sku'] . '" and state = 0 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"', 'details,cpid'); //现有库存 $xl = $this->whlabel->find_count($where . " and outk > '" . (time() - 30 * 24 * 3600) . "' and outk < '" . time() . "'" . ' and sku = "' . $value['sku'] . '" and state = 1 and warehouse = "' . $value['warehouse'] . '" and features = "' . $value['features'] . '"'); //30天销量 $yj = $c / ($xl / 30); if ($yj < 7) { $zs[$key]['y'] = round($yj) . '天销量'; $rows[$key] = $zs[$key]; } } } $total = count($this->whlabel->find_pc($where, 'sku,features,warehouse', 'id')); $pagenum = ceil($total / $perpage); $over = $total - ($start + $perpage); $rows = array('total' => $total, 'over' => $over, 'pagenum' => $pagenum, 'rows' => ($rows)); echo json_encode($rows); exit; } $this->data['arg_array'] = $arg_array[0]; $this->_Template('whlabel_fcjxc', $this->data); } public function _0kcdel() { $dir = '/data/excel/' . date('Ymd', time()) . '/'; $config['upload_path'] = '.' . $dir; $config['file_name'] = date('Ymd_His_', time()) . rand(1000, 9999); $config['allowed_types'] = 'xls|xlsx|csv'; $config['max_size'] = 10240; $this->load->library('upload', $config); $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $full_path = $dir . $this->upload->data('file_name'); $fileName = '.' . $full_path; if (!file_exists($fileName)) { echo json_encode(array('msg' => "上传失败,请重试", 'success' => false)); exit; } else { require_once "./data/excel/PHPExcel/IOFactory.php"; @$phpExcel = PHPExcel_IOFactory::load($fileName); // 载入当前文件 @$phpExcel->setActiveSheetIndex(0); // 设置为默认表 $sheetCount = $phpExcel->getSheetCount(); // 获取表格数量 $row = $phpExcel->getActiveSheet()->getHighestRow(); // 获取行数 $column = $phpExcel->getActiveSheet()->getHighestColumn(); // 获取列数 ++$column; //如果列数大于26行 $list = array(); for ($i = 2; $i <= $row; $i++) // 行数循环 { $data = array(); for ($c = 'A'; $c != $column; $c++) // 列数循环 { $data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue(); } $list[] = $data; } } $i = 0; $j = 0; $ed = array(); foreach ($list as $key => $value) { $time = time(); if ($value['0'] == "" || $value['1'] == "") { continue; } $warehouse = $this->warehouse->get_title($value['0']); $sku = $value['1']; $d = $this->whlabel->get_warehousesku($warehouse['id'], $sku); if (!$d) //如果没有这个SKU { $ed[] = array($sku . '-库存中不存在此SKU'); $j++; continue; } if (!isset($warehouse['id'])) { $ed[] = array($sku . '-仓库名错误!'); $j++; continue; } $z = $this->whlabel->find_count('sku = "' . $sku . '" and zd = "" and state = 0 and warehouse = "' . $warehouse['id'] . '"'); if ($z < 1) { $z = $this->whlabel->find_all('sku = "' . $sku . '" and warehouse = "' . $warehouse['id'] . '"'); foreach ($z as $v) { $zt = $this->whlabeltransport->find_all('sku = "' . $sku . '" and warehouse = "' . $warehouse['id'] . '" and features = "' . $d['features'] . '" and cz = "0"'); if (count($zt) > 0) { $ed[] = array($sku . '-有在途库存无法删除!'); $j++; continue; } $this->whlabel->remove($v['id']); } } else { $ed[] = array($sku . '-非0库存!'); $j++; continue; } } if ($j > 0) { $tt = date('Ymd', time()); $title = '删除0库存错误信息-' . $tt; $titlename = "
错误详情
"; $tail = "\n"; $filename = $title . ".xls"; $ecl = $this->excel->get_fz3($ed, $titlename, $filename, $tail); $dir = '/data/excel/' . $time . '/'; $file_name = 'error_' . $time . rand(1000, 9999); if (!is_dir('.' . $dir)) mkdir('.' . $dir, 0777); $myfile = fopen("." . $dir . $file_name . ".xls", "w") or die(); fwrite($myfile, $ecl); fclose($myfile); $error = $dir . $file_name . '.xls'; echo json_encode(array('msg' => '导入成功,' . $j . '条异常,', 'error' => $error, 'success' => true)); exit; } else { echo json_encode(array('msg' => '导入成功!', 'error' => 1, 'success' => true)); exit; } } } public function _gbhtype() { $post = $this->input->post(NULL, TRUE); if (isset($post['s'])) { $n = $this->input->post('n'); $d = $this->input->post('s'); if (!$d) { echo json_encode(array('msg' => '未选择需要更改的商品', 'success' => false)); exit; } $d = explode(',', trim($d, ',')); $t = $this->whlabel_type->read($n); //循环删除记录 foreach ($d as $v) { $u = $this->whlabel->read($v); $data = $this->whlabel->find_all("sku = '" . $u['sku'] . "' and purchase = '" . $u['purchase'] . "' and features = '" . $u['features'] . "' and warehouse = '" . $u['warehouse'] . "'"); foreach ($data as $val) { $this->whlabel->save(array('type' => $n), $val['id']); } } echo json_encode(array('d' => $d, 't' => $t['title'], 'msg' => '修改成功!', 'success' => true)); } } //出库、退库导出 public function _dccrtype() { $classid = $this->classid->sku(); $pm = $classid; $typeclass = array(); $tc = $this->typeclass->find_all(); foreach ($tc as $v) { $typeclass[$v['id']] = $v; } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } if (isset($_GET['sid'])) { $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $type = $this->input->get('excel', true); $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $lacetype = $this->input->get('lacetype', true); $lacecolor = $this->input->get('lacecolor', true); $density = $this->input->get('density', true); $haircap = $this->input->get('haircap', true); $purchase = $this->input->get('purchase', true); $title = $this->input->get('title', true); $state = $this->input->get('state', true); $sid = $this->input->get('sid', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = "1=1"; $gj = ""; $ck = ""; if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($state) { $where .= " and state = '$state'"; } if ($lacetype) { $where .= " and features like '%-$lacetype-%'"; } if ($lacecolor) { $where .= " and features like '%-$lacecolor-%'"; } if ($density) { $where .= " and features like '%-$density-%'"; } if ($haircap) { $where .= " and features like '%-$haircap-%'"; } if ($title) { $title = trim($title, ' '); $title = trim($title, ' '); $where .= " and title like '%$title%'"; } if ($sku) { $sku = trim($sku, ' '); $sku = trim($sku, ' '); $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { //$where .= " and ((enter > '$ktime' and enter < '$jtime') or (outk > '$ktime' and outk < '$jtime'))"; } $sidwhere = ''; if ($sid) { $sd = ""; $s = explode(',', trim($sid, ',')); foreach ($s as $value) { $sd .= " id = " . $value . " or"; } $sidwhere = " and (" . rtrim($sd, 'or') . ")"; } //数据排序 $order_str = "time desc"; if (empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1) * $perpage; } $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $wt = array(); $whlabel_type = $this->whlabel_type->find_all(); foreach ($whlabel_type as $v) { $wt[$v['id']] = $v['title']; } $classid = $this->classid->sku(); $list = array(); $rows_r = $this->whlabel->find_pc($where . " and enter > '$ktime' and enter < '$jtime' " . $sidwhere, 'sku,features,warehouse,enter', 'warehouse,sku,title,zh,features,time,enter,rktype,number,text'); foreach ($rows_r as $key => $value) { $rows_r[$key]['warehouse'] = $wh[$value['warehouse']]; $pm = $classid; $jm = $classid; $rows_r[$key]['enter'] = '入库'; $rows_r[$key]['time'] = $value['enter']; if ($value['rktype'] == 1) { $rows_r[$key]['rktype'] = '采购入库'; } else if ($value['rktype'] == 2) { $rows_r[$key]['rktype'] = '盘盈调整'; } else if ($value['rktype'] == 3) { $rows_r[$key]['rktype'] = '其他调整入库'; } else if ($value['rktype'] == 4) { $rows_r[$key]['rktype'] = '其他调整入库'; } else if ($value['rktype'] == 5) { $rows_r[$key]['rktype'] = '退库入库'; } else if ($value['rktype'] == 6) { $rows_r[$key]['rktype'] = '退货可用入库'; } else if ($value['rktype'] == 7) { $rows_r[$key]['rktype'] = '形态转换入库'; } else { $rows_r[$key]['rktype'] = ''; } $features = explode('-', trim($value['features'], '-')); foreach ($features as $v) { if (isset($typeclass[$v])) { $zh = explode('|', trim($typeclass[$v]['zh'], '|')); $pm[$typeclass[$v]['classid']] = $zh[0]; } if (isset($typeclass[$v])) { if (isset($jm[$typeclass[$v]['classid']])) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', rtrim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $rows_r[$key]['zh'] = $zh; $jm = array_filter($jm); $rows_r[$key]['features'] = implode("-", $jm); $rows_r[$key]['number'] = $this->whlabel->find_count($where . " and enter = '" . $value['enter'] . "' " . $sidwhere); } $rows_c = $this->whlabel->find_all($where . " and outk > '$ktime' and outk < '$jtime' " . $sidwhere, 'warehouse,sku,title,zh,features,time,outk,cktype,number,textout'); foreach ($rows_c as $key => $value) { $rows_c[$key]['warehouse'] = $wh[$value['warehouse']]; $pm = $classid; $jm = $classid; $rows_c[$key]['time'] = $value['outk']; $rows_c[$key]['outk'] = '出库'; if ($value['cktype'] == 1) { $rows_c[$key]['cktype'] = '销售出库'; } else if ($value['cktype'] == 2) { $rows_c[$key]['cktype'] = '销售美国出库'; } else if ($value['cktype'] == 3) { $rows_c[$key]['cktype'] = '盘亏调整'; } else if ($value['cktype'] == 4) { $rows_c[$key]['cktype'] = '其他调整出库'; } else if ($value['cktype'] == 5) { $rows_c[$key]['cktype'] = '形态转换出库'; } else { $rows_c[$key]['cktype'] = ''; } $features = explode('-', trim($value['features'], '-')); foreach ($features as $v) { if (isset($typeclass[$v])) { $zh = explode('|', trim($typeclass[$v]['zh'], '|')); $pm[$typeclass[$v]['classid']] = $zh[0]; } if (isset($typeclass[$v])) { if (isset($jm[$typeclass[$v]['classid']])) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } $zh = implode(" ", $pm); $zh = str_replace('自然色 ', '', rtrim($zh, ' ')); $zh = str_replace(array(' ', ' ', ' ', ' ', ' ', ' ', ' '), ' ', $zh); $rows_c[$key]['zh'] = $zh; $jm = array_filter($jm); $rows_c[$key]['features'] = implode("-", $jm); $rows_c[$key]['number'] = 1; } $merged = $rows_r; foreach ($rows_c as $key => $value) { if (isset($merged[$key])) { $merged[] = $value; } else { $merged[$key] = $value; } } usort($merged, function ($a, $b) { return $a['time'] - $b['time']; }); foreach ($merged as $key => $value) { $merged[$key]['time'] = date('Y-m-d H:i:s', $value['time']); } $title = date('Y-m-d', $ktime) . '至' . date('Y-m-d', $jtime); $titlename = "
仓库 SKU 商品名称 仓库品名 料号 时间 操作 类型 数量 备注
"; $filename = $title . ".xlsx"; $tail = ""; $this->excel->get_fz2($merged, $titlename, $filename, $tail); } } }