has_permission('sales_material_edit'); $btn = '-'; if ($use_buildin_edit) { $btn = '编辑  '; } // $use_buildin_look = kernel::single('desktop_user')->has_permission('sales_detail'); // if ($use_buildin_look) { // if ($btn == '-') { // $btn = ''; // } // $btn .= '查看'; // } return $btn; } else { return '-'; } } public $column_betc_name = "所属贸易公司"; public $column_betc_name_width = 150; public $column_betc_name_order = 30; /** * column_betc_name * @param mixed $row row * @param mixed $list list * @return mixed 返回值 */ public function column_betc_name($row, $list) { $cosIdArr = array_column($list, $this->col_prefix . 'cos_id'); static $cosVsParent; static $betcList; if (!isset($cosVsParent[$row[$this->col_prefix . 'cos_id']])) { $cosMdl = app::get('organization')->model('cos'); $shopCosList = $cosMdl->getList('*', ['cos_id|in' => $cosIdArr]); $cosVsParent = array_column($shopCosList, 'parent_id', 'cos_id'); $betcList = []; foreach ($shopCosList as $k => $v) { if (!isset($betcList[$v['parent_id']])) { $outBindList = kernel::single('organization_cos')->getCosFindIdSET($v['parent_id'], 'out_bind_id'); $betcList[$v['parent_id']] = $outBindList; } } } $result = ''; if (isset($cosVsParent[$row[$this->col_prefix . 'cos_id']])) { $parentId = $cosVsParent[$row[$this->col_prefix . 'cos_id']]; $result = $betcList[$parentId]; $result = implode('
', array_column($result, 'cos_name')); } return ''.$result.''; } public $column_associated_material = '关联基础商品信息'; public $column_associated_material_width = 260; public $column_associated_material_order = 50; /** * column_associated_material * @param mixed $row row * @param mixed $list list * @return mixed 返回值 */ public function column_associated_material($row, $list) { static $smWithBmList; if (!isset($smWithBmList[$row['sm_id']])) { $smBmMdl = app::get('dealer')->model('sales_basic_material'); $bmMdl = app::get('material')->model('basic_material'); $smIdArr = array_column($list, 'sm_id'); $smBmList = $smBmMdl->getList('*', ['sm_id|in' => $smIdArr]); $bmIdArr = array_unique(array_column($smBmList, 'bm_id')); $bmList = $bmMdl->getList('bm_id, material_bn, material_name', ['bm_id|in' => $bmIdArr]); $bmList = array_column($bmList, null, 'bm_id'); foreach ($smBmList as $sk => $sv) { $sv['bm_info'] = $bmList[$sv['bm_id']]; if (!isset($smWithBmList[$sv['sm_id']])) { $smWithBmList[$sv['sm_id']] = []; } $smWithBmList[$sv['sm_id']][] = $sv; } } $associated = []; foreach ($smWithBmList[$row['sm_id']] as $k => $v) { $associated[] = $v['bm_info']['material_name'] . '(' . $v['bm_info']['material_bn'] . ') x' . $v['number']; } return ''.implode("
", $associated).'
'; } public $column_actual_stock = '可售库存数'; public $column_actual_stock_order = 89; private $initMaterialSale = false; /** * column_actual_stock * @param mixed $row row * @param mixed $list list * @return mixed 返回值 */ public function column_actual_stock($row, $list) { if(!$this->initMaterialSale) { $this->initMaterialSale = true; $products = app::get('dealer')->model('sales_material')->getList('sm_id,sales_material_name,sales_material_bn,sales_material_type,shop_id',array('sm_id'=>array_column($list, 'sm_id'))); kernel::single('inventorydepth_calculation_basicmaterial')->init($products); kernel::single('inventorydepth_calculation_salesmaterial')->init($products); $shopRows = app::get('ome')->model('shop')->getList('shop_id,shop_bn', ['shop_id'=>array_unique(array_column($list, $this->col_prefix.'shop_id'))]); $this->shopRows = array_column($shopRows, null, 'shop_id'); } $sku = [ 'sales_material_bn' => $row[$this->col_prefix.'sales_material_bn'], 'shop_id' => $row[$this->col_prefix.'shop_id'], 'shop_bn' => $this->shopRows[$row[$this->col_prefix.'shop_id']]['shop_bn'], 'sales_material_name' => $row[$this->col_prefix.'sales_material_name'], 'sales_material_type' => $row[$this->col_prefix.'sales_material_type'], ]; $stock = kernel::single('inventorydepth_logic_stock')->getStock($sku, $sku['shop_id'], $sku['shop_bn']); return $stock && is_array($stock) ? $stock['quantity'] : ''; } /** * 基础物料 * @param int $sm_id 销售物料ID * @return string */ public $detail_basic_material = '基础物料'; /** * detail_basic_material * @param mixed $sm_id ID * @return mixed 返回值 */ public function detail_basic_material($sm_id) { $render = app::get('dealer')->render(); $smMdl = app::get('dealer')->model('sales_material'); $sbmMdl = app::get('dealer')->model('sales_basic_material'); $bmMdl = app::get('material')->model('basic_material'); $bmExtMdl = app::get('material')->model('basic_material_ext'); $bmSmList = $sbmMdl->getList('*', ['sm_id' => $sm_id]); $bmIdList = array_column($bmSmList, 'bm_id'); $bmList = $bmMdl->getList('*', ['bm_id|in' => $bmIdList]); $bmList = array_column($bmList, null, 'bm_id'); $bmExtList = $bmExtMdl->getList('*', ['bm_id|in' => $bmIdList]); $bmExtList = array_column($bmExtList, null, 'bm_id'); $render->pagedata['smInfo'] = $smMdl->db_dump(['sm_id' => $sm_id]); $render->pagedata['bmSmList'] = $bmSmList; $render->pagedata['bmList'] = $bmList; $render->pagedata['bmExtList'] = $bmExtList; $render->pagedata['title'] = '基础商品列表'; return $render->fetch('admin/series/products.html'); } /** * 订单操作记录 * @param int $sm_id * @return string */ public $detail_show_log = '操作记录'; /** * detail_show_log * @param mixed $sm_id ID * @return mixed 返回值 */ public function detail_show_log($sm_id) { $omeLogMdl = app::get('ome')->model('operation_log'); $logList = $omeLogMdl->read_log(array('obj_id' => $sm_id, 'obj_type' => 'sales_material@dealer'), 0, -1); $finder_id = $_GET['_finder']['finder_id']; foreach ($logList as $k => $v) { $logList[$k]['operate_time'] = date('Y-m-d H:i:s', $v['operate_time']); if ($v['operation'] == '销售物料编辑') { $logList[$k]['memo'] = "查看快照"; } } $render = app::get('dealer')->render(); $render->pagedata['logs'] = $logList; return $render->fetch('admin/bbb_show_log.html'); } }