where($store)->order('addtime asc')->select(); $this->assign('info',$info); $this->display(); } //商户批量选择商品 public function batchgoods2(){ $this->display(); } public function index2() { $user = session('ls_userinfo'); $merchantid = $user['merchantid']; //商户下所有正常门店 $store['merchantid'] = $merchantid; $store['state'] = 0; $info = M('retail_store')->where($store)->order('addtime asc')->select(); $this->assign('info',$info); $this->display(); } //添加到商品库 public function getgoods_bank() { if (IS_POST) { $user = session('ls_userinfo'); $merchantid = $user['merchantid']; $where['allocation_status'] = 1; $where['merchantid'] = $merchantid; $where['allocation_id'] = 0; if(empty($where['merchantid'])){ $res['status'] = 0; $res['msg'] = '参数有误'; }else{ $info = M('retail_allocation_goods_bank')->where($where)->select(); if($info){ $totalallmoney = 0; //总价 $totalnum = 0;//出货量 foreach ($info as $key=>&$val){ $allmoney = 0;//小计 if($val['attribute'] == 2){ $where_sku['a.goods_bannk_id'] = $val['id']; $sku_goods_ids = M('retail_allocat_sku_goods as a') ->join('ls_retail_sku_mgoods as m on m.id=a.sku_mgoods_id','LEFT') ->where($where_sku) ->field('a.goods_num,m.purch_price') ->select(); if($sku_goods_ids){ foreach ($sku_goods_ids as $ke=>&$va){ $allmoney += $va['purch_price']*$va['goods_num']; } $val['allmoney'] = $allmoney; $totalallmoney += $allmoney; } }else if($val['attribute'] == 1){ $totalallmoney += $val['allmoney']; } $totalnum += $val['num']; $val['election'] = false; } $total['len'] = M('retail_allocation_goods_bank')->where($where)->count(); $total['allnum'] = $totalnum; $total['allmoney'] = $totalallmoney; $res['status'] = 1; $res['msg'] = '查询成功'; $res['data'] = $info; $res['total'] = $total; }else{ $total['len'] = 0; $total['allnum'] = 0; $total['allmoney'] = 0; $res['status'] = 1; $res['msg'] = '暂无进货单'; $res['data'] = array(); $res['total'] = $total; } } $this->ajaxReturn($res); } } //商品查询 public function searchgoods() { if (IS_POST) { $user = session('ls_userinfo'); $merchantid = $user['merchantid']; $keyword = I('post.keyword'); $w['merchantid'] = $merchantid; $w['goods_code|good_number'] = $keyword; $w['status'] = 0; $goods = M('retail_mgoods')->where($w)->find(); if ($goods) { if($goods['attribute'] == 2){ $info = $this->getMGoodsSkuAttr($goods['id']); }else{ $info['attr'] = array(); $info['list'] = array(); } $rt['info'] = $info; $rt['status'] = 1; $rt['msg'] = '查询成功'; $rt['goods'] = $goods; } else{ $rt['status'] = 0; $rt['msg'] = '未找到您需要调拨的上架商品'; } $this->ajaxReturn($rt); } } //搜索添加到调拨商品库 public function addgoods_allocation() { if (IS_POST) { $user = session('ls_userinfo'); $merchantid = $user['merchantid']; $data = I('post.searchgoodsinfo'); $skuList = I('post.skuList'); if(empty($data) || empty($merchantid)){ $rt['status'] = 0; $rt['msg'] = '信息错误'; $this->ajaxReturn($rt);exit; } $where['merchantid'] = $merchantid; $where['allocation_status'] = 1; $where['allocation_id'] = 0; $where['goodsid'] = $data['id']; $exist = M('retail_allocation_goods_bank')->where($where)->find(); if($exist){ $rt['status'] = 0; $rt['msg'] = '该商品已加入出货单'; $this->ajaxReturn($rt);exit; } $mgoods_info = M('retail_mgoods')->where(array('id'=>$data['id'],'status'=>0))->find(); if(!$mgoods_info){ $rt['status'] = 0; $rt['msg'] = '未找到该上架商品'; $this->ajaxReturn($rt);exit; } $mgoods_data = array(); $mgoods_data['goodsid'] = $mgoods_info['id']; $mgoods_data['goods_name'] = $mgoods_info['goods_name']; $mgoods_data['good_number'] = $mgoods_info['good_number']; $mgoods_data['goods_code'] = $mgoods_info['goods_code']; $mgoods_data['company'] = $mgoods_info['company']; $mgoods_data['specifications'] = $mgoods_info['specifications']; $mgoods_data['issellonline'] = $mgoods_info['issellonline']; $mgoods_data['can_exchange'] = $mgoods_info['can_exchange']; $mgoods_data['integral'] = $mgoods_info['integral']; $mgoods_data['exchange_money'] = $mgoods_info['exchange_money']; $mgoods_data['max_swap'] = $mgoods_info['max_swap']; $mgoods_data['max_swap_num'] = $mgoods_info['max_swap_num']; $mgoods_data['vip_online_price'] = $mgoods_info['vip_online_price']; $mgoods_data['vip_online_integral'] = $mgoods_info['vip_online_integral']; $mgoods_data['vip_retail_price'] = $mgoods_info['vip_retail_price']; $mgoods_data['vip_retail_integral'] = $mgoods_info['vip_retail_integral']; $mgoods_data['vip_online_state'] = $mgoods_info['vip_online_state']; $mgoods_data['vip_retail_state'] = $mgoods_info['vip_retail_state']; $mgoods_data['supplier_id'] = $mgoods_info['supplier_id']; $mgoods_data['can_exchange_weigh'] = $mgoods_info['can_exchange_weigh']; $mgoods_data['details'] = $mgoods_info['details']; $mgoods_data['production_date'] = $mgoods_info['production_date']; $mgoods_data['shelf_life'] = $mgoods_info['shelf_life']; $mgoods_data['shop_mem_status'] = $mgoods_info['shop_mem_status']; $mgoods_data['shop_mem_price'] = $mgoods_info['shop_mem_price']; $mgoods_data['store_mem_status'] = $mgoods_info['store_mem_status']; $mgoods_data['store_mem_price'] = $mgoods_info['store_mem_price']; $mgoods_data['goods_class_id'] = $mgoods_info['goods_class_id']; $mgoods_data['good_image'] = $mgoods_info['good_image']; $mgoods_data['purch_price'] = $mgoods_info['purch_price']; $mgoods_data['retail_price'] = $mgoods_info['retail_price']; $mgoods_data['online_price'] = $mgoods_info['online_price']; $mgoods_data['addtime'] = time(); $mgoods_data['allocation_status'] = 1; $mgoods_data['merchantid'] = $merchantid; $mgoods_data['attribute'] = $mgoods_info['attribute']; $mgoods_data['more_num'] = $mgoods_info['more_num']; $mgoods_data['less_num'] = $mgoods_info['less_num']; $mgoods_data['agood_count'] = $mgoods_info['agood_count']; $mgoods_data['goods_brand_id'] = $mgoods_info['goods_brand_id']; $goods_bankid = M('retail_allocation_goods_bank')->add($mgoods_data); if ($goods_bankid) { if($mgoods_data['attribute'] == 2){ //有规格的 if(!empty($skuList)){ $allmoney = 0; $number = 0; foreach ($skuList as $key=>&$val){ if($val['num'] > 0){ $retail_sku_mgoods = M('retail_sku_mgoods')->where(array('id'=>$val['id']))->find(); $purch_price = $retail_sku_mgoods['purch_price']?$retail_sku_mgoods['purch_price']:0; //进价 $input_num = round(($val['num'] * $retail_sku_mgoods['sku_num']),3); $input_num = $input_num?$input_num:0; $allmoney += round(($purch_price *$input_num),5); //总价 $number += $input_num; $sku['merchantid'] = $merchantid; $sku['goods_id'] = $mgoods_data['goodsid']; $sku['goods_num'] = $input_num; $sku['addtime'] = $mgoods_data['addtime']; $sku['goods_bannk_id'] = $goods_bankid; $sku['sku_mgoods_id'] = $val['id']; $sku['shipment_num'] = $val['num']; $skuid = M('retail_allocat_sku_goods')->add($sku); if($skuid){ M('retail_sku_mgoods')->where(array('id'=>$val['id']))->setDec('goods_num',$val['num']); } } } if($skuid){ $mgoods_dec = M('retail_mgoods')->where(array('id'=>$where['goodsid']))->setDec('goods_num',$number); if($mgoods_dec){ $save['allmoney'] = $allmoney; $save['num'] = $number; $save_bank = M('retail_allocation_goods_bank')->where(array('id'=>$goods_bankid))->save($save); if($save_bank){ $rt['status'] = 1; $rt['msg'] = '加入成功'; $rt['data'] = M('retail_allocation_goods_bank')->where(array('id' => $goods_bankid))->find(); }else{ $rt['status'] = 0; $rt['msg'] = '规格加入失败'; } }else{ $rt['status'] = 0; $rt['msg'] = '商品总库存修改失败'; } }else{ $rt['status'] = 0; $rt['msg'] = '规格'; } }else{ $rt['status'] = 1; $rt['msg'] = '加入成功'; $rt['data'] = M('retail_allocation_goods_bank')->where(array('id' => $goods_bankid))->find(); } }else if($data['attribute'] == 1){ $save_mgoods = M('retail_mgoods')->where(array('id'=>$mgoods_data['goodsid']))->setDec('goods_num',$data['num']); if($save_mgoods){ $save['allmoney'] = round($mgoods_data['purch_price'] * $data['num'],5); $save['num'] = $data['num']; $save_bank = M('retail_allocation_goods_bank')->where(array('id'=>$goods_bankid))->save($save); if($save_bank){ $rt['status'] = 1; $rt['msg'] = '加入成功'; $rt['data'] = M('retail_allocation_goods_bank')->where(array('id' => $goods_bankid))->find(); }else{ $rt['status'] = 0; $rt['msg'] = '加入成功,金额与库存修改失败'; } }else{ $rt['status'] = 0; $rt['msg'] = '加入成功,库存修改失败'; } }else{ $rt['status'] = 0; $rt['msg'] = '商品信息错误'; } } else { $rt['status'] = 0; $rt['msg'] = '加入失败'; } $this->ajaxReturn($rt); } } //删除调拨商品库 public function delete_goods_bank() { if (IS_POST) { $id = I('post.id'); if(empty($id)){ $res['status'] = 0; $res['msg'] = '参数错误'; }else{ //删除操作退还数量 $refund_goods = M('retail_allocation_goods_bank')->where(array('id'=>$id))->find(); if($refund_goods){ if($refund_goods['attribute'] == 2){ $sku_goods_info = M('retail_allocat_sku_goods')->where(array('goods_bannk_id'=>$refund_goods['id'],'goods_num'=>array('neq',0),'shipment_num'=>array('neq',0)))->select(); if($sku_goods_info){ foreach ($sku_goods_info as $key=>&$val){ M('retail_sku_mgoods')->where(array('id'=>$val['sku_mgoods_id']))->setInc('goods_num',$val['shipment_num']); } } } $m_goods_save = M('retail_mgoods')->where(array('id'=>$refund_goods['goodsid']))->setInc('goods_num',$refund_goods['num']); if($m_goods_save){ $data['allocation_status'] = 2; $save = M('retail_allocation_goods_bank')->where(array('id' => $id))->save($data); if($save){ $res['status'] = 1; $res['msg'] = '操作成功'; }else{ $res['status'] = 0; $res['msg'] = '商品修改成功,出货单商品状态修改失败'; } }else{ $res['status'] = 0; $res['msg'] = '商品库存修改失败'; } }else{ $res['status'] = 0; $res['msg'] = '未找到该出货单中的商品'; } } $this->ajaxReturn($res); } } /*批量删除 * @param $id 批量删除的数组 */ public function batchDeteleGoodsBank() { $id = I('post.id_arr'); if(!$id){ $res['status'] = 0; $res['msg'] = '请选择删除的商品'; $this->ajaxReturn($res); } foreach ($id as $key=>&$val){ $refund_goods = M('retail_allocation_goods_bank')->where(array('id'=>$val))->find(); if(!$refund_goods){ $res['status'] = 0; $res['msg'] = '刷新重试'; $this->ajaxReturn($res); } } foreach ($id as $key=>&$val){ $refund_goods = M('retail_allocation_goods_bank')->where(array('id'=>$val))->find(); if($refund_goods['attribute'] == 2){ $sku_goods_info = M('retail_allocat_sku_goods')->where(array('goods_bannk_id'=>$refund_goods['id'],'goods_num'=>array('neq',0),'shipment_num'=>array('neq',0)))->select(); if($sku_goods_info){ foreach ($sku_goods_info as $keysku=>&$valsku){ M('retail_sku_mgoods')->where(array('id'=>$valsku['sku_mgoods_id']))->setInc('goods_num',$valsku['shipment_num']); } } } $m_goods_save = M('retail_mgoods')->where(array('id'=>$refund_goods['goodsid']))->setInc('goods_num',$refund_goods['num']); if($m_goods_save){ $data['allocation_status'] = 2; $save = M('retail_allocation_goods_bank')->where(array('id' => $val))->save($data); }else{ $res['status'] = 0; $res['msg'] = '商品库存修改失败'; } } $res['status'] = 1; $res['msg'] = '操作成功'; $this->ajaxReturn($res); } //修改调拨商品库存与小计 public function changenum() { if (IS_POST) { $type = I('post.type'); $id = I('post.id'); $num = I('post.num'); $goods_bank = M('retail_allocation_goods_bank')->where(array('id' => $id))->find(); if(empty($goods_bank) || empty($id) || empty($num) || empty($type)){ $rt['status'] = 0; $rt['msg'] = '未找到您需要修改的商品'; $this->ajaxReturn($rt);exit; } if ($type == 1) { $savedata['num'] = $num; } $savedata['allmoney'] = $goods_bank['purch_price'] * $num; $ret = M('retail_allocation_goods_bank')->where(array('id' => $id))->save($savedata); if ($ret) { $rt['status'] = 1; $rt['msg'] = '修改成功'; } else { $rt['status'] = 0; $rt['msg'] = '暂未修改'; } $this->ajaxReturn($rt); } } //确认出货 public function addallocation() { if (IS_POST) { $user = session("ls_userinfo"); $goods_bank_ids = I('post.goods_bank_ids'); $dismoney = I('post.dismoney'); $storeid = I('post.tostoreid'); $merchantid = $user['merchantid']; if(empty($goods_bank_ids) || empty($storeid)){ $res['status'] = 0; $res['msg'] = '参数错误'; $this->ajaxReturn($res);exit; }else{ $where['id'] = array('in',$goods_bank_ids); $allinfo = M('retail_allocation_goods_bank')->where($where)->select(); if(!$allinfo){ $res['status'] = 0; $res['msg'] = '请添加调拨商品'; $this->ajaxReturn($res);exit; }else{ $allmoney = 0; //总进价量 $allocation_num = 0; //总调拨量 foreach ($allinfo as $key=>&$val){ if($val['attribute'] == 1){ $allmoney += ($val['purch_price']*$val['num']); }else if($val['attribute'] == 2){ $m_sku_goods_ids = M('retail_allocat_sku_goods')->where(array('goods_bannk_id'=>$val['id']))->field('sku_mgoods_id,goods_num')->select(); foreach ($m_sku_goods_ids as $keym=>$valm){ $m_sku_goods_price = M('retail_sku_mgoods')->where(array('id'=>$valm['sku_mgoods_id']))->find(); $allmoney += ($m_sku_goods_price['purch_price'] * $valm['goods_num']); } } $allocation_num += $val['num']; } $data['allmoney'] = $allmoney?$allmoney:0; $data['dismoney'] = $dismoney?$dismoney:0; $data['allocation_num'] = $allocation_num?$allocation_num:0; $data['target_storeid'] = $storeid; $data['examine'] = 1; $data['addtime'] = time(); $data['merchantid'] = $merchantid; $data['goods_class'] = count($goods_bank_ids); $data['type'] = 1; $add_allocation = M('retail_allocation')->add($data); if($add_allocation){ $order_id = createOrderTradeNo($add_allocation);//订单号 if($order_id){ $save['order_id'] = $order_id; $save_allocat = M('retail_allocation')->where(array('id'=>$add_allocation))->save($save); if($save_allocat){ $save_bank = M('retail_allocation_goods_bank')->where($where)->save(array('allocation_id'=>$add_allocation)); if($save_bank){ $res['status'] = 1; $res['msg'] = '操作成功'; }else{ $res['status'] = 0; $res['msg'] = '操作失败'; } }else{ $res['status'] = 0; $res['msg'] = '订单号存入失败'; } }else{ $res['status'] = 0; $res['msg'] = '订单号生成失败'; } }else{ $res['status'] = 0; $res['msg'] = '出货失败'; } $this->ajaxReturn($res); } } } } //获取商品规格信息 public function getMGoodsSkuAttr($id,$type,$bank_id) { if($type == 2){ $typearr['id'] = array('in',$id); $skuList = M('retail_sku_mgoods')->where($typearr)->select(); }else{ $skuList = M('retail_sku_mgoods')->where(array('mgoods_id' => $id, 'state' => 0))->select(); } $skuAttr = array(); if (!empty($skuList)) { foreach ($skuList as &$value) { $tempId = explode(',', $value['sku_id_list']); foreach ($tempId as &$v) { $v = intval($v); $value['name'][] = M('retail_sku_list')->where(array('id' => $v))->getField('name'); } $value['tempId'] = $tempId; if($value['goods_num'] == round($value['goods_num'])){ $value['goods_num'] = round($value['goods_num']); } if($value['sku_num'] == round($value['sku_num'])){ $value['sku_num'] = round($value['sku_num']); } if($type == 2){ $value['num'] = M('retail_allocat_sku_goods')->where(array('sku_mgoods_id'=>$value['id'],'goods_bannk_id'=>$bank_id))->getField('shipment_num');//出货量 }else{ $value['num'] = 0;//出货量 } } //为了保证规格顺序 $skuAttr = array(); for ($i = 0; $i < count($skuList[0]['tempId']); $i++) { $skuAttr[] = M('retail_sku_attr as s') ->join('ls_retail_sku_list as l on l.attr_id=s.id') ->where(array('s.state' => 0, 'l.id' => $skuList[0]['tempId'][$i])) ->group('l.attr_id') ->field('s.id,s.name') ->find(); } } $data['attr'] = $skuAttr; $data['list'] = $skuList; return $data; } //规格详情 public function purchase_sku_details() { $goods_bankid = I('post.goods_bankid'); if(!$goods_bankid){ $res['status'] = 0; $res['msg'] = '参数错误'; }else{ $goods_bankinfo = M('retail_allocation_goods_bank')->where(array('id'=>$goods_bankid))->find(); if($goods_bankinfo){ if($goods_bankinfo['attribute'] == 2){ $sku_ids = M('retail_allocat_sku_goods')->where(array('goods_bannk_id'=>$goods_bankinfo['id']))->getField('sku_mgoods_id',true); if($sku_ids){ $info = $this->getMGoodsSkuAttr($sku_ids,2,$goods_bankinfo['id']); $res['status'] = 1; $res['info'] = $info; }else{ $res['status'] = 0; $res['msg'] = '未找到该商品规格'; } }else{ $res['status'] = 0; $res['msg'] = '导入时无规格'; } }else{ $res['status'] = 0; $res['msg'] = '暂未找到该商品'; } } $this->ajaxReturn($res); } //出货单列表 public function shipmentlist() { $arr = array( 'shipment_detail' => '/index.php/Retail/Aallocatmerchant/shipment_detail', ); $authArr = checkFunction($arr); $this->assign('authArr', $authArr); $this->display(); } //出货单列表 public function shipment_sales() { $user = session('ls_userinfo'); if (empty($user)) { $res['code'] = 0; $res['msg'] = ''; $res['count'] = 0; $res['data'] = array(); $this->ajaxReturn($res); exit; } $order_id = I('get.order_id'); $order_state = I('get.order_state'); $date = I('get.date'); if (!empty($order_id)) { $where['a.order_id'] = array('like', '%' . $order_id . '%'); } if (!empty($order_state)) { $where['a.examine'] = $order_state; } if (!empty($date)) { $date = explode('至', $date); $start_time = strtotime(date('Y-m-d 00:00:00', strtotime($date[0]))); $endtime = strtotime(date('Y-m-d 23:59:59', strtotime($date[1]))); $where['a.addtime'] = array('between', array($start_time, $endtime)); } $page = I('get.page'); $limit = I('get.limit'); $where['a.merchantid'] = $user['merchantid']; $where['a.type'] = 1; $where['a.status'] = 1; $goods_info = M('retail_allocation as a') ->join('ls_retail_store as s on a.target_storeid=s.id') ->where($where) ->order('addtime desc') ->page($page, $limit) ->field('a.*,s.storetag') ->select(); if ($goods_info) { $count = M('retail_allocation as a')->where($where)->count(); foreach ($goods_info as $key => &$val) { $val['index'] = $key + 1; $val['addtime'] = date('Y-m-d H:i:s', $val['addtime']); if ($val['examine'] == 1) { $val['state'] = '未审核'; } else if ($val['examine'] == 2) { $val['state'] = '审核通过'; } else if ($val['examine'] == 3) { $val['state'] = '审核失败'; } } $res['code'] = 0; $res['msg'] = ''; $res['count'] = $count; $res['data'] = $goods_info; } else { $res['code'] = 0; $res['msg'] = ''; $res['count'] = 0; $res['data'] = array(); } $this->ajaxReturn($res); } //出货详情 public function shipment_detail() { $id = I('get.id'); $this->assign('id', $id); $this->display(); } //出货详情 public function shipment_detail_list() { $id = I('post.floworderid'); $goods_bank_info = M('retail_allocation_goods_bank')->where(array('allocation_id' => $id))->select(); if ($goods_bank_info) { $totalallmoney = 0; $totalnum=0; foreach ($goods_bank_info as $key => &$val) { $val['index'] = $key + 1; $allmoney = 0;//小计 if($val['attribute'] == 2){ $where_sku['a.goods_bannk_id'] = $val['id']; $sku_goods_ids = M('retail_allocat_sku_goods as a') ->join('ls_retail_sku_mgoods as m on m.id=a.sku_mgoods_id','LEFT') ->where($where_sku) ->field('a.goods_num,m.purch_price') ->select(); if($sku_goods_ids){ foreach ($sku_goods_ids as $ke=>&$va){ $allmoney += $va['purch_price']*$va['goods_num']; } $val['allmoney'] = $allmoney; $totalallmoney += $allmoney; } }else if($val['attribute'] == 1){ $totalallmoney += $val['allmoney']; } $totalnum += $val['num']; } $total['len'] = $totalnum; $total['allmoney'] = $totalallmoney; $total['allnum'] = M('retail_allocation_goods_bank')->where(array('allocation_id' => $id))->count(); $res['status'] = 1; $res['data'] = $goods_bank_info; $res['info'] =$total; } else { $total['len'] = 0; $total['allmoney'] = 0; $total['allnum'] = 0; $res['status'] = 0; $res['data'] = array(); $res['info'] = $total; } $this->ajaxReturn($res); } //商户批量选择商品 public function batchgoods(){ $this->display(); } //未加入出货单的商品 public function batchgoods_list() { $user = session('ls_userinfo'); $where['allocation_status'] = 1; $where['merchantid'] = $user['merchantid']; $where['allocation_id'] = 0; $goods_id = M('retail_allocation_goods_bank')->where($where)->getField('goodsid',true); //已加入出货单的商品 $goods_id = $goods_id?$goods_id:array(0); $map['status'] = 0; $map['merchantid'] = $user['merchantid']; $map['id'] = array('not in',$goods_id); $m_goods = M('retail_mgoods')->field('id,goods_name,purch_price,attribute,goods_num,can_exchange_weigh')->where($map)->order('id desc')->select(); if($m_goods){ foreach ($m_goods as $key=>&$val){ $val['election'] = false; } } $count = M('retail_mgoods')->where($map)->count(); $res['data'] = $m_goods; $res['status'] = 1; $this->ajaxReturn($res); } //批量规格查询 public function batch_specifications() { $id = I('post.id'); if(!$id){ $res['status'] = 0; $res['msg'] = '参数错误'; $this->ajaxReturn($res);exit; } $attribute = M('retail_mgoods')->where(array('id'=>$id))->getField('attribute'); if($attribute!=2){ $res['status'] = 0; $res['msg'] = '该商品不是规格商品'; $this->ajaxReturn($res);exit; } $data = $this->getMGoodsSkuAttr($id); $res['status'] = 1; $res['data'] = $data; $this->ajaxReturn($res); } //批量加入出货表 public function batch_addmgoodsbank() { $user = session('ls_userinfo'); $mgoodsinfo = I('post.goodsarr'); if(!$user || !$mgoodsinfo){ $res['status'] = 0; $res['msg'] = '参数错误'; $this->ajaxReturn($res);exit; } foreach ($mgoodsinfo as $key=>&$val){ $bank_where['merchantid'] = $user['merchantid']; $bank_where['allocation_status'] = 1; $bank_where['allocation_id'] = 0; $bank_where['goodsid'] = $val['id']; $bank_goods_info = M('retail_allocation_goods_bank')->where($bank_where)->find(); if($bank_goods_info){ $res['status'] = 0; $res['msg'] = $val['goods_name'].'出货商品库已存在'; $this->ajaxReturn($res);exit; } if($val['num'] < 0 || empty($val['num'])){ $res['status'] = 0; $res['msg'] = $val['goods_name'].'出货量不能为0'; $this->ajaxReturn($res);exit; } $mgoods_info_detail = M('retail_mgoods')->where(array('id'=>$val['id']))->find(); if(!$mgoods_info_detail){ $res['status'] = 0; $res['msg'] = $val['goods_name'].'未找到该商品'; $this->ajaxReturn($res);exit; } if($val['attribute'] == 2){ if(empty($val['skuList'])){ $res['status'] = 0; $res['msg'] = $val['goods_name'].'规格信息有误'; $this->ajaxReturn($res);exit; } } } foreach ($mgoodsinfo as $key=>&$val){ $data = array(); $mgoods_info_detail = M('retail_mgoods')->where(array('id'=>$val['id']))->find(); $data['goodsid'] = $val['id']; $data['goods_name'] = $mgoods_info_detail['goods_name']; $data['good_number'] = $mgoods_info_detail['good_number']; $data['goods_code'] = $mgoods_info_detail['goods_code']; $data['company'] = $mgoods_info_detail['company']; $data['specifications'] = $mgoods_info_detail['specifications']; $data['issellonline'] = $mgoods_info_detail['issellonline']; $data['can_exchange'] = $mgoods_info_detail['can_exchange']; $data['integral'] = $mgoods_info_detail['integral']; $data['exchange_money'] = $mgoods_info_detail['exchange_money']; $data['max_swap'] = $mgoods_info_detail['max_swap']; $data['max_swap_num'] = $mgoods_info_detail['max_swap_num']; $data['vip_online_price'] = $mgoods_info_detail['vip_online_price']; $data['vip_online_integral'] = $mgoods_info_detail['vip_online_integral']; $data['vip_retail_price'] = $mgoods_info_detail['vip_retail_price']; $data['vip_retail_integral'] = $mgoods_info_detail['vip_retail_integral']; $data['vip_online_state'] = $mgoods_info_detail['vip_online_state']; $data['vip_retail_state'] = $mgoods_info_detail['vip_retail_state']; $data['supplier_id'] = $mgoods_info_detail['supplier_id']; $data['can_exchange_weigh'] = $mgoods_info_detail['can_exchange_weigh']; $data['details'] = $mgoods_info_detail['details']; $data['production_date'] = $mgoods_info_detail['production_date']; $data['shelf_life'] = $mgoods_info_detail['shelf_life']; $data['shop_mem_status'] = $mgoods_info_detail['shop_mem_status']; $data['shop_mem_price'] = $mgoods_info_detail['shop_mem_price']; $data['store_mem_status'] = $mgoods_info_detail['store_mem_status']; $data['store_mem_price'] = $mgoods_info_detail['store_mem_price']; $data['goods_class_id'] = $mgoods_info_detail['goods_class_id']; $data['good_image'] = $mgoods_info_detail['good_image']; $data['purch_price'] = $mgoods_info_detail['purch_price']; $data['retail_price'] = $mgoods_info_detail['retail_price']; $data['online_price'] = $mgoods_info_detail['online_price']; $data['addtime'] = time(); $data['allocation_status'] = 1; $data['merchantid'] = $user['merchantid']; $data['attribute'] = $mgoods_info_detail['attribute']; $data['more_num'] = $mgoods_info_detail['more_num']; $data['less_num'] = $mgoods_info_detail['less_num']; $data['agood_count'] = $mgoods_info_detail['agood_count']; $data['goods_brand_id'] = $mgoods_info_detail['goods_brand_id']; $add = M('retail_allocation_goods_bank')->add($data); if($add){ if($data['attribute'] == 2){ //有规格的 if(!empty($val['skuList'])){ $allmoney = 0; $number = 0; foreach ($val['skuList'] as $ke=>&$va){ if($va['num'] > 0){ $sku = array(); $mgoods_sku_info = M('retail_sku_mgoods')->where(array('id'=>$va['id']))->find(); $purch_price = $mgoods_sku_info['purch_price']?$mgoods_sku_info['purch_price']:0; //进价 $input_num = round($va['num'] * $mgoods_sku_info['sku_num'],3); $allmoney += round(($purch_price *$input_num),5); $number += $input_num; $sku['merchantid'] = $user['merchantid']; $sku['goods_id'] = $val['id']; $sku['goods_num'] = $input_num; $sku['addtime'] = $data['addtime']; $sku['goods_bannk_id'] = $add; $sku['sku_mgoods_id'] = $va['id']; $sku['shipment_num'] = $va['num']; $skuid = M('retail_allocat_sku_goods')->add($sku); if($skuid){ M('retail_sku_mgoods')->where(array('id'=>$va['id']))->setDec('goods_num',$va['num']); } } } if($skuid){ $mgoods_dec = M('retail_mgoods')->where(array('id'=>$val['id']))->setDec('goods_num',$number); if($mgoods_dec){ $save = array(); $save['allmoney'] = $allmoney; $save['num'] = $number; $save_bank = M('retail_allocation_goods_bank')->where(array('id'=>$add))->save($save); if(!$save_bank){ $res['status'] = 0; $res['msg'] = $data['goods_name'].'出货商品库金额小计与数量修改错误,暂停操作'; $this->ajaxReturn($res);exit; } }else{ $res['status'] = 0; $res['msg'] = $data['goods_name'].'商户商品库存修改错误,暂停操作'; $this->ajaxReturn($res);exit; } }else{ $res['status'] = 0; $res['msg'] = $data['goods_name'].'出货规格库修改失败,暂停操作'; $this->ajaxReturn($res);exit; } } }else if($data['attribute'] == 1){ $save_mgoods = M('retail_mgoods')->where(array('id'=>$data['goodsid']))->setDec('goods_num',$val['num']); if($save_mgoods){ $save['allmoney'] = round(($data['purch_price'] * $val['num']),5); $save['num'] = round($val['num'],3); $save_bank = M('retail_allocation_goods_bank')->where(array('id'=>$add))->save($save); if(!$save_bank){ $res['status'] = 0; $res['msg'] = $data['goods_name'].'出货商品库金额小计与数量修改错误,暂停操作'; $this->ajaxReturn($res);exit; } }else{ $res['status'] = 0; $res['msg'] = $data['goods_name'].'商户商品库存修改错误,暂停操作'; $this->ajaxReturn($res);exit; } } } } $res['status'] = 1; $res['msg'] = '操作成功'; $this->ajaxReturn($res); } }